<template>
	<view>
		<view class="index">
			<view class="navTitle">彩票走势图</view>
			<scroll-view class="scrollview dialogue-box" :scroll-top="scrollTop" scroll-y="true" scroll-x="true">
				<view class="d-f dialogue-box-content" id="dialogue-box-content">
					<view class="nav">
						<view style="height: 50rpx;">
							<text class=""></text>
						</view>
						<view class="titletext centerClass">
							<text class="">期号</text>
						</view>
						<view class="item centerClass" style="color: black;" v-for="(item, index) in navList" :key="index">
							<text>{{item}}</text>
						</view>
					</view>
					<!-- 走势 -->
					<view class="trendList">
						<view class="zoushi">
							<text class="titletext">走势</text>
						</view>
						<!-- 顶部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumList">{{ val }}</text>
							</view>
						</view>
						<!-- 中间走势图 -->
						<view class="d-f">
							<view class="right">
								<view class="trendVal" v-for="(item, index) in trendList" :key="index">
									<view class="item" v-for="(val, i) in item.data" :key="i">
										<a :class="{ lableNum: val.active == 1 }"></a>
										<text v-if="val.active == 1 " class="lableNumClass">{{val.num}}</text>
										<text v-else>{{val.num}}</text>
									</view>
								</view>
							</view>
						</view>
						<!-- 底部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumList">{{ val }}</text>
							</view>
						</view>
							<!-- 底部三类分析的号码 -->
						<view class="trendNum" v-show="threeTypeFlag">
							<view class="item">
								<text class="item" v-for="(val, i) in THDataBottom">{{ val }}</text>
							</view>
						</view>
					</view>
					<!-- 跨一 -->
					<view class="trendList">
						<view class="zoushi">
							<text class="titletext">跨1</text>
						</view>
						<!-- 顶部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
						<!-- 中间走势图 -->
						<view class="d-f">
							<view class="right">
								<view class="trendVal" v-for="(item, index) in trendListApan1" :key="index">
									<view class="item" v-for="(val, i) in item.data" :key="i">
										<a :class="{ lableNum1: val.active == 1 }"></a>
										<text v-if="val.active == 1 " class="lableNumClass">{{val.num}}</text>
										<text v-else>{{val.num}}</text>
									</view>
								</view>
							</view>
						</view>
						<!-- 底部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
					</view>
					<!-- 跨二 -->
					<view class="trendList">
						<view class="zoushi">
							<text class="titletext">跨2</text>
						</view>
						<!-- 顶部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
						<!-- 中间走势图 -->
						<view class="d-f">
							<view class="right">
								<view class="trendVal" v-for="(item, index) in trendListApan2" :key="index">
									<view class="item" v-for="(val, i) in item.data" :key="i">
										<a :class="{ lableNum2: val.active == 1 }"></a>
										<text v-if="val.active == 1 " class="lableNumClass">{{val.num}}</text>
										<text v-else>{{val.num}}</text>
									</view>
								</view>
							</view>
						</view>
						<!-- 底部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
					</view>
					<!-- 跨三 -->
					<view class="trendList">
						<view class="zoushi">
							<text class="titletext">跨3</text>
						</view>
						<!-- 顶部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
						<!-- 中间走势图 -->
						<view class="d-f">
							<view class="right">
								<view class="trendVal" v-for="(item, index) in trendListApan3" :key="index">
									<view class="item" v-for="(val, i) in item.data" :key="i">
										<a :class="{ lableNum3: val.active == 1 }"></a>
										<text v-if="val.active == 1 " class="lableNumClass">{{val.num}}</text>
										<text v-else>{{val.num}}</text>
									</view>
								</view>
							</view>
						</view>
						<!-- 底部号码数 -->
						<view class="trendNum">
							<view class="item">
								<text class="item" v-for="(val, i) in trendNumListSpan">{{ val }}</text>
							</view>
						</view>
					</view>
				</view>
			</scroll-view>
			<!-- 第一排按钮 -->
			<uni-row class="demo-uni-row" :gutter="26" justify="center" id="target" >
				<uni-col :span="6" v-show="hundredCell">
					<button>
						<text class="buttontext">{{buttonName}}</text>
					</button>
				</uni-col>
				<uni-col :span="3" v-for="(val, i) in 5" v-show="hundredCell">
					<button :class="buttons1[val - 1].isActive ? 'buttonActive01' : 'buttonNoActive01'"
						@click="baiwei(val - 1)">
						<text class="buttontext">{{ val }}</text>
					</button>
				</uni-col>
				<!--    <button class="button01" @tap="handleTouchEnd">
                    <text class="buttontext">返回</text>
                </button> -->
			</uni-row>
			<!-- 第二排按钮组 -->
			<uni-row class="demo-uni-row" v-show="flagOTT">
				<uni-col :span="8">
					<button :class="buttons2[0].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(0)">
						<text class="buttontext">第一个数</text>
					</button>
				</uni-col>
				<uni-col :span="8">
					<button :class="buttons2[1].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(1)">
						<text class="buttontext">第二个数</text>
					</button>
				</uni-col>
				<uni-col :span="8">
					<button :class="buttons2[2].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(2)">
						<text class="buttontext">第三个数</text>
					</button>
				</uni-col>
			</uni-row>
			<!-- 第二排按钮组 -->
			<uni-row class="demo-uni-row" v-show="flagHTU">
				<uni-col :span="8">
					<button :class="buttons2[0].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(0)">
						<text class="buttontext">{{firstNum}}</text>
					</button>
				</uni-col>
				<uni-col :span="8">
					<button :class="buttons2[1].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(1)">
						<text class="buttontext">{{secondNum}}</text>
					</button>
				</uni-col>
				<uni-col :span="8">
					<button :class="buttons2[2].isActive ? 'buttonActive02' : 'buttonNoActive02'" @click="checkNum(2)">
						<text class="buttontext">{{thirdNum}}</text>
					</button>
				</uni-col>
			</uni-row>
			<!-- 第三排按钮组 -->
			<uni-row class="demo-uni-row" :gutter="26" v-for="(item, index) in buttonArr" :key="index">
				<uni-col :span="6" v-for="(val, i) in item.buttonNames" :key="i">
					<button :class="buttons3[val.no].isActive ? 'buttonActive03' : 'buttonNoActive03'"
						@click="changeType(val.no,2)">
						<text class="buttontext">{{ val.name }}</text>
					</button>
				</uni-col>
			</uni-row>
			<!-- 第四排按钮组-->
			<uni-row class="demo-uni-row2" :gutter="26">
				<uni-col :span="6" :push="12" style="top: -48px;"  v-if="HButton" >
					<button :class="buttons5[buttonNames01[0].no].isActive ? 'buttonActive03' : 'buttonNoActive03'"
						@click="changeHT(buttonNames01[0].no)">
						<text class="buttontext">{{buttonNames01[0].name}}</text>
					</button>
				</uni-col>
				<uni-col :span="6" :push="12" style="top: -48px;"  v-if="THButton" >
					<button :class="buttons5[buttonNames01[1].no].isActive ? 'buttonActive03' : 'buttonNoActive03'"
						@click="changeHT(buttonNames01[1].no)">
						<text class="buttontext">{{buttonNames01[1].name}}</text>
					</button>
				</uni-col>
			</uni-row>
			<view class="combinatorialArrayAll">
				<!-- 组合数组按钮 -->
				<scroll-view class="combinatorialArray" scroll-x="true">
					<view>
						<uni-row class="demo-uni-row1" v-if="hundredCellSelected">
							<uni-col :span="4" :push="1">{{topName}}</uni-col>
							<uni-col :span="19">
								<uni-data-checkbox class="" mode="tag" multiple :localdata="zygocoupleTop"
									v-model="zygocoupleTopSelected"></uni-data-checkbox>
							</uni-col>
						</uni-row>
						<uni-row class="demo-uni-row1">
							<uni-col :span="4" :push="1">{{oneNumName}}</uni-col>
							<uni-col :span="19">
								<uni-data-checkbox mode="tag" multiple :localdata="zygocouple1" v-model="firstSelected"
									@change="firstChange"></uni-data-checkbox>
							</uni-col>
						</uni-row>
						<uni-row class="demo-uni-row1" v-show="flag">
							<uni-col :span="4" :push="1">{{twoNumName}}</uni-col>
							<uni-col :span="19">
								<uni-data-checkbox mode="tag" multiple :localdata="zygocouple2" v-model="secondSelected"
									@change="secondChange"></uni-data-checkbox>
							</uni-col>
						</uni-row>
						<uni-row class="demo-uni-row1" v-show="flag">
							<uni-col :span="4" :push="1">{{threeNumName}}</uni-col>
							<uni-col :span="19">
								<uni-data-checkbox mode="tag" multiple :localdata="zygocouple3" v-model="thirdSelected"
									@change="thirdChange"></uni-data-checkbox>
							</uni-col>
						</uni-row>
						<uni-row class="demo-uni-row1" v-show="state">
							<uni-col :span="24">
								<uni-data-checkbox style="width: 600px;" mode="tag" multiple :localdata="threeTypes"
									v-model="threeTypesSelected" @change="thirdTypeChange"></uni-data-checkbox>
							</uni-col>
						</uni-row>
					</view>
				</scroll-view>
			</view>
			<uni-row class="demo-uni-row" :gutter="26" justify="center">
				<uni-col :span="4">
					<button :class="buttons4[0].isActive ? 'buttonActive04' : 'buttonNoActive04'" @click="qx(0)">
						<text class="buttontext">全选</text>
					</button>
				</uni-col>
				<uni-col :span="4">
					<button :class="buttons4[1].isActive ? 'buttonActive04' : 'buttonNoActive04'" @click="tijiao(1)">
						<text class="buttontext">排除</text>
					</button>
				</uni-col>
				<uni-col :span="6">
					<button :class="buttons4[2].isActive ? 'buttonActive04' : 'buttonNoActive04'" @click="ckjj(0)">
						<text class="buttontext">提交记录</text>
					</button>
				</uni-col>
				<uni-col :span="6">
					<button :class="buttons4[2].isActive ? 'buttonActive04' : 'buttonNoActive04'"
						@click="dialogToggle(0)">
						<text class="buttontext">计算结果</text>
					</button>
				</uni-col>
				<uni-col :span="4">
					<button class="buttonNoActive04 button popup-warn" @click="tijiao(0)">
						<text class="buttontext">提交</text>
					</button>
				</uni-col>
			</uni-row>
		</view>

		<view>
			<uni-popup ref="alertDialog" background-color="#fff" type="bottom">
				<uni-row class="textzhu">
					<uni-col :offset="7">
						<text>
							共
							<text class="zhu">{{ this.resultContent.length }}</text>
							注，
						</text>
						<text>
							共
							<text class="zhu">{{ this.resultContent.length * 2 }}</text>
							元
						</text>
					</uni-col>
				</uni-row>

				<uni-card>
					<scroll-view style="height:500px" class="scrollview dialogue-box" scroll-y="true" scroll-x="true">
						<view v-for="(number, index) in resultContent" :key="index">
							<text class="spliceAllText">{{ number }}</text>
						</view>
					</scroll-view>
				</uni-card>
				<uni-row :gutter="10" style="padding-bottom:10px ;">
					<uni-col :span="12">
						<button class="" @click="dialogClose()">
							<text class="buttontext">取消</text>
						</button>
					</uni-col>
					<uni-col :span="12">
						<button class="" @click="dialogConfirm(0)">
							<text class="buttontext">提交</text>
						</button>
					</uni-col>
				</uni-row>
			</uni-popup>
		</view>
		<!-- 提示信息弹窗 -->
		<uni-popup ref="message" type="message">
			<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
		</uni-popup>
		<!-- 监听数据变化 -->
		<view :info="trendList" :change:info="text.updateData" ref="video"></view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				HButton:true,
				THButton:true,
				flagOTT:true,
				flagHTU:false,
				hundredCell:true,
				firstNum:"第一个数",
				secondNum:"第二个数",
				thirdNum:"第三个数",
				oneNumName:"第一个数:",
				twoNumName:"第二个数:",
				threeNumName:"第三个数:",
				hundredCellSelected:true,
				state: false, //三类分析默认不显示
				flag: true, //是否显示
				threeTypeFlag:false,// 三类分析底部栏
				resultContent: "",
				scrollTop: 0,
				type: '',
				msgType: '',
				messageText: '',
				hundredOne: 0, // 这里是第一行按钮的百位 选项
				buttons1: [
					// 这里是第一个数 第二个数 第三个数 组按钮的选中状态设置
					{
						isActive: true
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				],
				buttons2: [
					// 这里是第一个数 第二个数 第三个数 组按钮的选中状态设置
					{
						isActive: true
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				],
				buttons3: [
					// 这里是 大中小 组按钮的选中状态设置
					{
						isActive: true
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				],
				buttons5: [
					// 这里是 百位 三类分析按钮的选中状态设置
					{
						isActive: false
					},
					{
						isActive: false
					}
				],
				buttons4: [
					//底部全选 排除按钮
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				],
				buttonNames01: [{
						name: '百位/1',
						no: 0
					},
					{
						name: '三类分析/1',
						no: 1
					}
				],
				buttonArr: [
					// 第三排按钮数组
					{
						buttonNames: [{
								name: '小中大',
								no: 0
							},
							{
								name: '012路',
								no: 1
							},
							{
								name: '洛河图',
								no: 2
							},
							{
								name: '合质偶',
								no: 3
							}
						]
					},
					{
						buttonNames: [{
								name: '数列',
								no: 4
							},
							{
								name: '奇偶',
								no: 5
							},
							{
								name: '3-9',
								no: 6
							},
							{
								name: '0-6',
								no: 7
							}
						]
					},
					{
						buttonNames: [{
								name: '对码',
								no: 8
							},
							{
								name: '假对',
								no: 9
							}
						]
					}
				],
				num: [],
				isHovered: false,
				number: 0, // 第几个数
				// 左侧期号
				navList: [],
				// 走势
				trendNumList: [0, 9, 2, 7, 4, 5, 1, 8, 3, 6],
				//跨度 1
				trendNumListSpan: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
				trendList: [],
				trendListApan1: [], // 跨度1
				trendListApan2: [], // 跨度2
				trendListApan3: [], // 跨度3
				numArry: [0, 9, 2, 7, 4, 5, 1, 8, 3, 6],
				numArrySpan1: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
				threeTypesSelected:[],
				threeTypesSelectedBack:[],
				threeTypesSelectedValue:[],
				threeTypes: [{ //三类分析
						text: 111,
						value: 0,
						disable: false
					},
					{
						text: 112,
						value: 1,
						disable: false
					},
					{
						text: 113,
						value: 2,
						disable: false
					},
					{
						text: 123,
						value: 3,
						disable: false
					},
					{
						text: 122,
						value: 4,
						disable: false
					},
					{
						text: 222,
						value: 5,
						disable: false
					},
					{
						text: 223,
						value: 6,
						disable: false
					},
					{
						text: 133,
						value: 7,
						disable: false
					},
					{
						text: 233,
						value: 8,
						disable: false
					},
					{
						text: 333,
						value: 9,
						disable: false
					}
				],
				types: [{
						type: 0, // 小中大
						data: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
						numbers: [{
								text: 0,
								value: 0
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 9,
								value: 9
							}
						],

						zygocoupleTop: [{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							}
						]
					},
					{
						type: 1, // 012路
						data: [1, 4, 7, 0, 3, 6, 9, 2, 5, 8],
						numbers: [{
								text: 1,
								value: 1
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 8,
								value: 8
							}
						],
						zygocoupleTop: [{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							}
						]
					},
					{
						type: 2, //洛河图
						data: [3, 4, 8, 0, 1, 5, 9, 2, 6, 7],
						numbers: [{
								text: 3,
								value: 3
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 7,
								value: 7
							}
						],
						zygocoupleTop: [{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							}
						]
					},
					{
						type: 3, //合质偶
						data: [0, 1, 9, 2, 3, 5, 7, 4, 6, 8],
						numbers: [{
								text: 0,
								value: 0
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 8,
								value: 8
							}
						],
						zygocoupleTop: [{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							}
						]
					},
					{
						type: 4, //数列
						data: [1, 2, 3, 5, 8, 0, 4, 6, 7, 9],
						numbers: [{
								text: 1,
								value: 1
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 9,
								value: 9
							}
						],
						zygocoupleTop: [{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							}
						]
					},
					{
						type: 5, //奇遇
						data: [1, 3, 5, 7, 9, 0, 2, 4, 6, 8],
						numbers: [{
								text: 1,
								value: 1
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 8,
								value: 8
							}
						],
						zygocoupleTop: [{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							}
						]
					},
					{
						type: 6, //3-9
						data: [4, 6, 8, 3, 5, 7, 9, 0, 1, 2],
						numbers: [{
								text: 4,
								value: 4
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 2,
								value: 2
							}
						],
						zygocoupleTop: [{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							}
						]
					},
					{
						type: 7, //4-8
						data: [7, 8, 9, 0, 2, 4, 6, 1, 3, 5],
						numbers: [{
								text: 7,
								value: 7
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 6,
								value: 6
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 5,
								value: 5
							}
						],
						zygocoupleTop: [{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							}
						]
					},
					{
						type: 8, //对码
						data: [6, 1, 7, 2, 8, 3, 9, 4, 0, 5],
						numbers: [{
								text: 6,
								value: 6
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 0,
								value: 0
							},
							{
								text: 5,
								value: 5
							}
						],
						zygocoupleTop: [{
								text: 0,
								value: 0,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							}
						]
					},
					{
						type: 9, // 假对
						data: [0, 9, 2, 7, 4, 5, 1, 8, 3, 6],
						numbers: [{
								text: 0,
								value: 0
							},
							{
								text: 9,
								value: 9
							},
							{
								text: 2,
								value: 2
							},
							{
								text: 7,
								value: 7
							},
							{
								text: 4,
								value: 4
							},
							{
								text: 5,
								value: 5
							},
							{
								text: 1,
								value: 1
							},
							{
								text: 8,
								value: 8
							},
							{
								text: 3,
								value: 3
							},
							{
								text: 6,
								value: 6
							}
						],
						zygocoupleTop: [{
								text: 7,
								value: 7,
								disable: true
							},
							{
								text: 2,
								value: 2,
								disable: true
							},
							{
								text: 6,
								value: 6,
								disable: true
							},
							{
								text: 1,
								value: 1,
								disable: true
							},
							{
								text: 9,
								value: 9,
								disable: true
							},
							{
								text: 3,
								value: 3,
								disable: true
							},
							{
								text: 4,
								value: 4,
								disable: true
							},
							{
								text: 5,
								value: 5,
								disable: true
							},
							{
								text: 8,
								value: 8,
								disable: true
							},
							{
								text: 0,
								value: 0,
								disable: true
							}
						]
					}
				],
				spanArr1: [], // 跨1 基础值
				spanArr2: [], // 跨2 基础值
				spanArr3: [], /// 跨3 基础值
				zygocoupleTop: [],
				zygocouple1: [], // 第一个数 多选框数组
				zygocouple2: [], // 第二个数 多选框数组
				zygocouple3: [], // 第三个数 多选框数组
				firstSelected: [], // 存储第一个复选框选中的值
				secondSelected: [], // 存储第二个复选框选中的值
				thirdSelected: [], // 存储第三个复选框选中的值
				firstSelectedBack: [], // 存储第一个复选框选中的值 备用
				secondSelectedBack: [], // 存储第二个复选框选中的值 备用
				thirdSelectedBack: [], // 存储第三个复选框选中的值 备用
				zygocoupleTopSelected: [],
				zygocoupleTopSelectedBack: [],
				zygocoupleTopSelectedBackBack: [],
				spliceAll: [], //存储拼接完的所有值
				zygocouple: [], // 底部数据1 2 3 个数的选项
				typeNo: 0, // 默认选中得类型
				buttonNum: 0, // 按钮第几个记录 如第一个数按钮
				isrecord: false,
				firstSelectedRecord: [],
				secondSelectedRecord: [],
				thirdSelectedRecord: [],
				threeTypesSelectedRecord:[],//三类的记录
				updateFlag: '0', // 是否是从记录过来进行修改的
				recordId: 0,
				numbersTop: [
					[{name: 7,value: 8},
					{name: 8,value: 3},
					{name: 9,value: 5},
					{name: 0,value: 7},
					{name: 2,value: 9},
					{name: 4,value: 0},
					{name: 6,value: 1},
					{name: 1,value: 2},
					{name: 3,value: 4},
					{name: 5,value: 6}
					],
					[{
							name: 6,
							value: 8
						},
						{
							name: 8,
							value: 3
						},
						{
							name: 3,
							value: 5
						},
						{
							name: 5,
							value: 7
						},
						{
							name: 7,
							value: 9
						},
						{
							name: 9,
							value: 0
						},
						{
							name: 0,
							value: 1
						},
						{
							name: 1,
							value: 2
						},
						{
							name: 2,
							value: 4
						},
						{
							name: 4,
							value: 6
						}
					],
					[{
							name: 3,
							value: 8
						},
						{
							name: 5,
							value: 3
						},
						{
							name: 8,
							value: 5
						},
						{
							name: 0,
							value: 7
						},
						{
							name: 4,
							value: 9
						},
						{
							name: 6,
							value: 0
						},
						{
							name: 7,
							value: 1
						},
						{
							name: 9,
							value: 2
						},
						{
							name: 1,
							value: 4
						},
						{
							name: 2,
							value: 6
						}
					],
					[{
							name: 3,
							value: 8
						},
						{
							name: 5,
							value: 3
						},
						{
							name: 7,
							value: 5
						},
						{
							name: 9,
							value: 7
						},
						{
							name: 0,
							value: 9
						},
						{
							name: 1,
							value: 0
						},
						{
							name: 2,
							value: 1
						},
						{
							name: 4,
							value: 2
						},
						{
							name: 6,
							value: 4
						},
						{
							name: 8,
							value: 6
						}
					],
					[{
							name: 2,
							value: 8
						},
						{
							name: 4,
							value: 3
						},
						{
							name: 6,
							value: 5
						},
						{
							name: 1,
							value: 7
						},
						{
							name: 3,
							value: 9
						},
						{
							name: 5,
							value: 0
						},
						{
							name: 7,
							value: 1
						},
						{
							name: 8,
							value: 2
						},
						{
							name: 9,
							value: 4
						},
						{
							name: 0,
							value: 6
						}
					]

				],
				numbersTop09: [
					[{name: 1,value: 2},
					{name: 3,value: 3},
					{name: 5,value: 4},
					{name: 0,value: 5},
					{name: 7,value: 6},
					{name: 2,value: 7},
					{name: 8,value: 8},
					{name: 4,value: 9},
					{name: 9,value: 0},
					{name: 6,value: 1},
					],
					[{name: 1,value: 2},
					{name: 2,value: 3},
					{name: 3,value: 4},
					{name: 4,value: 5},
					{name: 5,value: 6},
					{name: 6,value: 7},
					{name: 7,value: 8},
					{name: 8,value: 9},
					{name: 9,value: 0},
					{name: 0,value: 1},
					],
					[{name: 9,value: 2},
					{name: 5,value: 3},
					{name: 1,value: 4},
					{name: 8,value: 5},
					{name: 2,value: 6},
					{name: 0,value: 7},
					{name: 3,value: 8},
					{name: 4,value: 9},
					{name: 6,value: 0},
					{name: 7,value: 1},
					],
					[{name: 3,value: 2},
					{name: 4,value: 3},
					{name: 5,value: 4},
					{name: 6,value: 5},
					{name: 7,value: 6},
					{name: 8,value: 7},
					{name: 9,value: 8},
					{name: 0,value: 9},
					{name: 1,value: 0},
					{name: 2,value: 1},
					],
					[{name: 7,value: 2},
					{name: 2,value: 3},
					{name: 8,value: 4},
					{name: 4,value: 5},
					{name: 9,value: 6},
					{name: 6,value: 7},
					{name: 1,value: 8},
					{name: 3,value: 9},
					{name: 5,value: 0},
					{name: 0,value: 1}],
				],
				numbersTop18: [
					[{name: 3,value: 7},
					{name: 7,value: 0},
					{name: 4,value: 3},
					{name: 1,value: 6},
					{name: 0,value: 9},
					{name: 8,value: 2},
					{name: 6,value: 5},
					{name: 5,value: 8},
					{name: 2,value: 1},
					{name: 9,value: 4},
					],
					[{name: 4,value: 7},
					{name: 7,value: 0},
					{name: 0,value: 3},
					{name: 3,value: 6},
					{name: 6,value: 9},
					{name: 9,value: 2},
					{name: 2,value: 5},
					{name: 5,value: 8},
					{name: 8,value: 1},
					{name: 1,value: 4},
					],
					[{name: 0,value: 7},
					{name: 6,value: 0},
					{name: 5,value: 3},
					{name: 2,value: 6},
					{name: 4,value: 9},
					{name: 9,value: 2},
					{name: 8,value: 5},
					{name: 3,value: 8},
					{name: 7,value: 1},
					{name: 1,value: 4},
					],
					[{name: 0,value: 7},
					{name: 3,value: 0},
					{name: 6,value: 3},
					{name: 9,value: 6},
					{name: 2,value: 9},
					{name: 5,value: 2},
					{name: 8,value: 5},
					{name: 1,value: 8},
					{name: 4,value: 1},
					{name: 7,value: 4},
					],
					[{name: 0,value: 7},
					{name: 8,value: 0},
					{name: 6,value: 3},
					{name: 5,value: 6},
					{name: 2,value: 9},
					{name: 9,value: 2},
					{name: 3,value: 5},
					{name: 7,value: 8},
					{name: 4,value: 1},
					{name: 1,value: 4},
					],
				]
				,
				numbersTop37: [
					[{name: 0,value: 8},
					{name: 7,value: 0},
					{name: 9,value: 1},
					{name: 1,value: 5},
					{name: 3,value: 9},
					{name: 2,value: 2},
					{name: 6,value: 6},
					{name: 5,value: 7},
					{name: 8,value: 3},
					{name: 4,value: 4}
					],
					[{name: 4,value: 8},
					{name: 8,value: 0},
					{name: 0,value: 1},
					{name: 1,value: 5},
					{name: 5,value: 9},
					{name: 9,value: 2},
					{name: 2,value: 6},
					{name: 6,value: 7},
					{name: 7,value: 3},
					{name: 3,value: 4},
					],
					[{name: 3,value: 8},
					{name: 6,value: 0},
					{name: 7,value: 1},
					{name: 8,value: 5},
					{name: 4,value: 9},
					{name: 9,value: 2},
					{name: 2,value: 6},
					{name: 0,value: 7},
					{name: 5,value: 3},
					{name: 1,value: 4},
					],
					[{name: 0,value: 8},
					{name: 1,value: 0},
					{name: 5,value: 1},
					{name: 9,value: 5},
					{name: 2,value: 9},
					{name: 6,value: 2},
					{name: 7,value: 6},
					{name: 3,value: 7},
					{name: 4,value: 3},
					{name: 8,value: 4},
					],
					[{name: 3,value: 8},
					{name: 2,value: 0},
					{name: 6,value: 1},
					{name: 5,value: 5},
					{name: 8,value: 9},
					{name: 4,value: 2},
					{name: 0,value: 6},
					{name: 7,value: 7},
					{name: 9,value: 3},
					{name: 1,value: 4},
					]
				],
				numbersTop65: [
					[{name: 8,value: 7},
					{name: 3,value: 2},
					{name: 4,value: 8},
					{name: 5,value: 3},
					{name: 9,value: 9},
					{name: 0,value: 4},
					{name: 6,value: 0},
					{name: 7,value: 5},
					{name: 1,value: 6},
					{name: 2,value: 1}
					],
					[{name: 1,value: 7},
					{name: 7,value: 2},
					{name: 2,value: 8},
					{name: 8,value: 3},
					{name: 3,value: 9},
					{name: 9,value: 4},
					{name: 4,value: 0},
					{name: 0,value: 5},
					{name: 5,value: 6},
					{name: 6,value: 1}
					],
					[{name: 0,value: 7},
					{name: 9,value: 2},
					{name: 3,value: 8},
					{name: 5,value: 3},
					{name: 4,value: 9},
					{name: 1,value: 4},
					{name: 6,value: 0},
					{name: 8,value: 5},
					{name: 2,value: 6},
					{name: 7,value: 1}
					],
					[{name: 2,value: 7},
					{name: 8,value: 2},
					{name: 3,value: 8},
					{name: 9,value: 3},
					{name: 4,value: 9},
					{name: 0,value: 4},
					{name: 5,value: 0},
					{name: 6,value: 5},
					{name: 1,value: 6},
					{name: 7,value: 1}
					],
					[{name: 9,value: 7},
					{name: 0,value: 2},
					{name: 6,value: 8},
					{name: 7,value: 3},
					{name: 1,value: 9},
					{name: 2,value: 4},
					{name: 8,value: 0},
					{name: 3,value: 5},
					{name: 4,value: 6},
					{name: 5,value: 1}
					],
				],
				colNum: 0,
				args: {
					buttonArr: 0, //存储按钮下标
					qiShuFirst: 0, //存储第一个期数下标
					qiShuSecond: 0, //存储第二个期数下标
					qiShuIndex: 0, //存储下标  30期  100期  500期 1000期
					optionType: 0, //组合值
					optionName: '', // 组合名称
					type: "", // 项目名称编号
					projectName: "", //项目名称
					recordId: 0 // 本次提交记录的id
				},
				delNumOne: [], // 去除的值
				delNumTwo: [],
				delNumThree: [],
				hundredOTSTFDdata: [], // 百位1 按钮数据存储
				OTSTF: false, // 判断是否是百位12345 按钮
				HT: false,  // 是否选中了三类分析
				OTSTFcolNum: 0, // 索引位置
				OTSTFnum: [],
				THData:{
					'11':[111,112,113],
					'12':[112,122,123],
					'13':[113,133,123],
					'22':[122,222,223],
					'23':[223,233,123],
					'33':[133,233,333]
				},
				THDataSelect:{
					"111":1,
					"112":1,
					"113":1,
					//"123":[2],
					"122":2,
					"222":2,
					"223":2,
					"133":3,
					"233":3,
					"333":3,
					
				},
				topName:"百位：",
				THDataBottom:[111,112,113,123,122,222,223,133,233,333],
				THDataStr:["111","112","113","123","122","222","223","133","233","333"],
				buttonArrName:{1:"十位/",2:"个位/",3:"百位/",0:"百十个位",
							4:"百位\\",5:"十位\\",6:"个位\\",7:"百十个位差",
							8:"百十差/",9:"十个差/",10:"百个差/",11:"百十个位和",
							12:"百十差\\",13:"十个差\\",14:"百个差\\",15:"小中大",
							16:"百十和/",17:"十个和/",18:"百个和/",19:"小中大差",
							20:"百十和\\",21:"十个和\\",22:"百个和\\",23:"小中大和",
							24:"小号/",25:"中号/",26:"大号/",27:"组选通杀",
							28:"小号\\",29:"中号\\",30:"大号\\",31:"振幅差",
							32:"小中差/",33:"中大差/",34:"小大差/",35:"振幅和",
							36:"小中差\\",37:"中大差\\",38:"小大差\\",39:"平均值",
							40:"小中和/",41:"中大和/",42:"小大和",43:"和尾",
							44:"小中和\\",45:"中大和\\",46:"小大和\\",47:"散连对",
							48:"0胆/",49:"1胆/",50:"2胆/",51:"3胆/",
							52:"0胆\\",53:"1胆\\",54:"2胆\\",55:"3胆\\",
							56:"4胆/",57:"5胆/",58:"6胆/",59:"7胆/",
							60:"4胆\\",61:"5胆\\",62:"6胆\\",63:"7胆\\",
							64:"8胆/",65:"9胆/",66:"单选间隔",67:"三类分析",
							68:"8胆\\",69:"9胆\\",70:"号码组合形态",71:"二类分析",
							72:"差0胆/",73:"差1胆/",74:"差2胆/",75:"差3胆/",
							76:"差0胆\\",77:"差1胆\\",78:"差2胆\\",79:"差3胆\\",
							80:"差4胆/",81:"差5胆/",82:"差6胆/",83:"差7胆/",
							84:"差4胆\\",85:"差5胆\\",86:"差6胆\\",87:"差7胆\\",
							88:"差8胆/",89:"差9胆/",90:"胆码组",91:"两码组合",
							92:"差8胆\\",93:"差9胆\\",94:"排序",95:"组合差",
							},
				buttonName:"百位/"
			};
		},
		onLoad(query) {
			if (query.record) {
				this.isrecord = true;
				this.updateFlag = query.updateFlag;
				let record = JSON.parse(query.record);
				let arr = record.record.split('|');
				//	this.zygocoupleTop = JSON.parse(arr[0])
				//	this.zygocouple1 = JSON.parse(arr[1])
				this.firstSelectedRecord = JSON.parse(arr[0]);
				this.secondSelectedRecord = JSON.parse(arr[1]);
				this.thirdSelectedRecord = JSON.parse(arr[2]);
				this.threeTypesSelectedRecord = JSON.parse(record.threeType);
				this.zygocoupleTopSelectedBack = JSON.parse(arr[3]);
				let delNum = record.delNum.split('|');
				this.delNumOne = JSON.parse(delNum[0]);
				this.delNumTwo = JSON.parse(delNum[1]);
				this.delNumThree = JSON.parse(delNum[2]);
				this.args.type = record.type;
				this.hundredOne = record.hundredOne;
				this.typeNo = record.typeNo;
				this.buttonNum = record.buttonNum;
				this.recordId = record.id;
				this.HT = record.ht
				this.OTSTF = record.otstf
				this.args.optionType = parseInt(record.optionType);
				this.args.optionName = record.optionName
				this.args.projectName = record.projectName
				uni.setNavigationBarTitle({
					title: this.args.projectName
				});
				this.buttonName = this.buttonArrName[this.args.optionType]
				this.baiwei(0);
			} else if (query.args) {
				this.args = JSON.parse(query.args);
				this.buttonName = this.buttonArrName[this.args.optionType]
				uni.setNavigationBarTitle({
					title: this.args.projectName
				});
				this.typeNo = 0
				let buarr = [0,15,27]
				if(buarr.includes(this.args.optionType)){
					this.buttonNames01[1].name = "三类分析"
				}
				//this.show();
				this.baiwei(0);
			}
		},
		methods: {
			dialogClose() {
				this.$refs.alertDialog.close()
			},
			dialogConfirm(num) {
				this.$refs.alertDialog.close()
				this.tijiao(num);
			},
			dialogToggle(num) { // 计算结果
				let concatenatedNumbers = this.countResult(num);
				this.resultContent = concatenatedNumbers;
				this.args.delFlag = 0
				uni.navigateTo({
				//	url: `/pages/lottery/software/selectionDetails?args=${JSON.stringify(this.args)}&result=${JSON.stringify(this.resultContent)}`
				url: `/pages/lottery/software/selectionDetails?args=${JSON.stringify(this.args)}`
				});
			},
			ckjj(numAll) {
				uni.navigateTo({
					url: '/pages/my/index/index?type='+this.args.type
				});
			},
			baiwei(no) {
				if (this.isrecord) {
					no = this.hundredOne;
				}
				this.buttonNames01[0].name = this.buttonName + (no + 1)
				let buarr = [0,15,27]
				if(buarr.includes(this.args.optionType)){
					this.buttonNames01[1].name = "三类分析"
				}else{
					if(this.oneNumName.includes("/")){
						this.buttonNames01[1].name = "三类/" + (no + 1)
					}else{
						this.buttonNames01[1].name = "三类\\" + (no + 1)
					}
					
				}
				this.topName = this.buttonName.replace("\\","").replace("/","")+":"
				this.buttons1 = [
					// 这里是第一个数 第二个数 第三个数 组按钮的选中状态设置
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				];
				this.buttons1[no].isActive = true;
				this.hundredOne = no;
				this.show();
			},
			xz(no) {
				// 选中方法
				(this.buttons4 = [
					//底部全选 排除按钮
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				]),
				(this.buttons4[no].isActive = true);
			},
			qx(no) {
				//this.xz(no)
				this.firstSelected = this.firstSelectedBack;
				this.secondSelected = this.secondSelectedBack;
				this.thirdSelected = this.thirdSelectedBack;
				this.zygocoupleTopSelected = this.zygocoupleTopSelectedBackBack
				this.delNumThree = []
				this.delNumTwo = []
				this.delNumOne = []
				
				let optionType = this.args.optionType
				// 存放拼接后的三位数结果
				const concatenatedNumbers = [];
				let optionTypeButtonArr = [0,7,11,15,19,23,27,31,35,43,66] // 这里是只要 百 个 十的选中号码
				if(optionTypeButtonArr.includes(optionType)){
					if(this.HT){
						this.firstSelected=this.trendNumList;
						this.threeTypesSelected = this.threeTypesSelectedValue
					}else{
						this.gen123numBSG()
					}
				}else{
					if(this.HT){
						this.firstSelected=this.trendNumList;
						this.threeTypesSelected = this.threeTypesSelectedValue
					}
				}
				if(this.OTSTF){
					this.firstSelected=this.trendNumList;
				}
			},
			tjjl() {
				let data = {};
				const str = JSON.stringify(this.firstSelected) + '|' + JSON.stringify(this.secondSelected) +
					'|' + JSON.stringify(this.thirdSelected) + "|" + JSON.stringify(this.zygocoupleTopSelected);
				const deviceId = uni.getStorageSync("phone");
				data.type = this.args.type; // 彩票类型
				data.hundredOne = this.hundredOne; // 百位数据 位数
				data.buttonNum = this.number; // 第几个数的按钮记录
				data.optionType = this.args.optionType //按钮的类型编号 比如 组排 的 0 百位 1
				data.optionName = this.args.optionName //按钮的类型名称  比如 组排 百位
				data.typeNo = this.typeNo; // 类型数据 如小中大
				data.deviceId = deviceId; // 设备唯一编号 可以是手机号
				data.record = str;
				data.delNum = JSON.stringify(this.delNumOne) + '|' + JSON.stringify(this.delNumTwo) +
					'|' + JSON.stringify(this.delNumThree)
				data.result = JSON.stringify(this.spliceAll)
				//data.numAll = numAll // 本次生成的号码结果集
				data.projectName = this.args.projectName
				if (this.updateFlag == '1') {
					data.id = this.recordId;
				}
				// 0 代表从走势图查看的 并且需要在个人记录中查看
				data.flag=0
				// 这里记录是三类分析还是 百位按钮
				data.ht = this.HT
				data.otstf = this.OTSTF
				data.threeType = JSON.stringify(this.threeTypesSelected)
				this.$myRequest({
					method: 'post',
					url: '/saveRecord',
					data: data
				}).then((res) => {
					if (res.flag) {
						// 通过URL参数传递数据到selectionDetails页面
						this.args.recordId = res.data
						this.args.delFlag = 0
						uni.navigateTo({
							url: `/pages/lottery/software/selectionDetails?args=${JSON.stringify(this.args)}`
						});
					} else {
						uni.showToast({
							title: '提交记录失败请重新提交！'
						});
					}
				});
			},
			async hundredOTSTF() { // 获取 百位1 的计算走势图
				let data = {
					type: this.args.type,
					hundredOne: this.hundredOne,
					option: this.args.buttonArr,
					first: this.args.qiShuFirst,
					second: this.args.qiShuSecond,
					count: this.args.qiShuIndex,
					typeFlag:1
				}
				await this.$myRequest({
					method: 'get',
					url: '/hundredOne',
					data: data
				}).then((res) => {
					this.OTSTFnum = res.data.data;
					if(res.data.colNum){
						if(res.data.colNum>5){
							this.OTSTFcolNum = res.data.colNum - 5
						}else{
							this.OTSTFcolNum = res.data.colNum
						}
					}else{
						this.OTSTFcolNum = 0
					}
					//this.navList = res.data.dateNumData;
				})
			},
			async changeHT(type) { // 这里是百位1  还是三类分析的按钮
				
				switch (type) {
					case 0:
						this.flag = false
						this.flagOTT = false
						this.OTSTF = true
						this.HT = false
						this.state = false
						this.threeTypeFlag = false
						await this.hundredOTSTF()
						//this.oneNumName = "第一个数："
						//this.oneNumName =  this.buttonNames01[0].name.replace(/\\/g, "").replace("/","")
						this.oneNumName =  this.buttonNames01[0].name
						break;
					case 1:
						this.flag = false
						this.flagOTT = false
						this.state = true
						this.OTSTF = false
						this.HT = true
						this.threeTypeFlag = true
						this.oneNumName = this.buttonNames01[1].name
						//this.genter3Type()
						break;
					// default:
					// 	this.OTSTF = false
					// 	this.state = false
				}
				this.buttons5 = [
					//这里是百位 三类分析组按钮的选中状态设置
					{
						isActive: false
					},
					{
						isActive: false
					}
				]
				this.buttons5[type].isActive = true;
			
				await this.changeType(this.typeNo,type)
				
				
			},
			 sortNumbers(a, b, c) { //三个数排序
			    return [a, b, c].sort((x, y) => x - y).join('');
			},
			genter3Type(){ // 生成数据三类分析数据
				this.trendList = [];
				for (let i = 3; i < this.num.length; i++) {
					let lottery = this.num[i]
					let lotteryArr =  lottery.split("")
					//let n = this.getFirstNumber(this.num[i], this.numArry, this.number);
					let index0 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[0])));
					let index1 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[1])));
					let index2 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[2])));
					let TH = this.sortNumbers(index0,index1,index2)
					let cIndex =  this.THDataStr.indexOf(TH);
					let c = {
						data: [{num: 0,active: 0},{num: 1,active: 0},{num: 2,active: 0},{num: 3,active: 0},{num: 4,active: 0},{num: 5,active: 0},{num: 6,active: 0},{num: 7,active: 0},{num: 8,active: 0},{num: 9,active: 0}]
					};
					 c.data[cIndex].active = 1
					this.trendList.push(c);
				}
			},
			async changeType(type, f) {
				if(f ==2){
					this.oneNumName = "第一个数:"
				}
				this.buttons3 = [
					// 这里是 大中小 组按钮的选中状态设置
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					},
					{
						isActive: false
					}
				];
				if(f == 0 || f == 1){
					this.flag = false
					if(f==1){
						this.threeTypeFlag =  true
					}
				}else{
					this.buttons5 = [
						//这里是百位 三类分析组按钮的选中状态设置
						{
							isActive: false
						},
						{
							isActive: false
						}
					]
					this.OTSTF = false
					//this.flag = true
					this.flag = true
					this.flagOTT = true
					this.state = false
					this.HT = false
					this.threeTypeFlag =  false
				}
				let buttonNum = 0;
				if (this.isrecord) {
					type = this.typeNo;
					buttonNum = this.buttonNum;
				} else {
					buttonNum = this.number;
				}
				this.typeNo = type;
				this.buttons3[type].isActive = true;
				// 按钮的类型转换
				let itemToFind = this.types.find((item) => item.type == type);
				this.trendNumList = itemToFind.data;
				this.numArry = itemToFind.data; // 表格头部信息
				this.zygocouple = itemToFind.numbers;
				//这里生成的 123 底部按钮的计算  也就是zygocoupleTop
				this.genbutton123Top()
				// this.zst();
				this.checkNum(buttonNum);
			},
			genbutton123Top() { // 生成的 123 底部按钮的计算  也就是zygocoupleTop
				if (this.colNum == 5) {
					this.colNum = 0
				}
				let op09 = [48,52,65,69,72,76,89,93,24,28,26,30]
				let op18 = [49,53,73,77,64,68,88,92]
				let op37 = [51,55,59,63,75,79,83,87]
				let op65 = [58,62,57,61,82,86,81,85]
				let topNumbersTop =[]
				if(op09.includes(this.args.optionType)){
					topNumbersTop = this.numbersTop09
				}else if(op18.includes(this.args.optionType)){
					topNumbersTop = this.numbersTop18
				}else if(op37.includes(this.args.optionType)){
					topNumbersTop = this.numbersTop37
				}else if(op65.includes(this.args.optionType)){
					topNumbersTop = this.numbersTop65
				}else{
					topNumbersTop = this.numbersTop
				}
				let top = topNumbersTop[this.colNum]
				// 不知道算法暂时 设置为0
				let zygocoupleToptemp = []
				this.zygocoupleTopSelected = []
				this.numArry.forEach(v => {
					let num = top.find(re => re.name === v)
					zygocoupleToptemp.push({
						'text': num.value,
						'value': num.value,
						'disable': true
					})
					this.zygocoupleTopSelected.push(num.value)
				})
				
				if (this.isrecord) {
					this.zygocoupleTopSelectedBackBack = JSON.parse(JSON.stringify(this.zygocoupleTopSelected))
					this.zygocoupleTopSelected = this.zygocoupleTopSelectedBack
				} else {
					this.zygocoupleTopSelectedBack = this.zygocoupleTopSelected
					this.zygocoupleTopSelectedBackBack = JSON.parse(JSON.stringify(this.zygocoupleTopSelected))
				}
				this.zygocoupleTop = zygocoupleToptemp;
			},
			gen123num() {
				//生成下方的123 个数的数组
				let n = this.num[this.num.length - 1];
				let arrn = n.split('');
				let typeId = [4,5,6,12,13,14,20,21,22,28,29,30,36,37,38,44,45,46,52,53,54,55,60,61,62,63,68,69,76,77,78,79,84,85,86,87,92,93]
				let index1 = 0;
				let index2 = 1;
				if(typeId.includes(this.args.optionType)){
					index1 = 1;
					index2 = 2;
				}
				let one = this.trendNumList.indexOf(parseInt(arrn[index1]));
				let two = this.trendNumList.indexOf(parseInt(arrn[index2]));
				let sart, end;
				if (one > two) {
					sart = two;
					end = one;
				} else {
					sart = one;
					end = two;
				}
				this.firstSelected = [];
				this.secondSelected = [];
				this.thirdSelected = [];
				this.firstSelectedBack = [];
				this.secondSelectedBack = [];
				this.thirdSelectedBack = [];
				let onearr = JSON.parse(JSON.stringify(this.zygocouple));
				let twoarr = JSON.parse(JSON.stringify(this.zygocouple));
				let threearr = JSON.parse(JSON.stringify(this.zygocouple));
				for (let i = 0; i < this.trendNumList.length; i++) {
					if (sart >= i) {
						this.firstSelected.push(this.trendNumList[i]);
						this.firstSelectedBack.push(this.trendNumList[i]);
					} else {
						onearr[i].disable = true;
					}

					if (sart <= i && i <= end) {
						this.secondSelected.push(this.trendNumList[i]);
						this.secondSelectedBack.push(this.trendNumList[i]);
					} else {
						twoarr[i].disable = true;
					}
					if (end <= i) {
						this.thirdSelected.push(this.trendNumList[i]);
						this.thirdSelectedBack.push(this.trendNumList[i]);
					} else {
						threearr[i].disable = true;
					}
				}
				if (this.isrecord) {
					this.firstSelected = this.firstSelectedRecord;
					this.secondSelected = this.secondSelectedRecord;
					this.thirdSelected = this.thirdSelectedRecord;

				}
				this.zygocouple1 = onearr;
				this.zygocouple2 = twoarr;
				this.zygocouple3 = threearr;
			},
			checkNum(num) {
				// 这里实现的是 按钮第一个数 第二个数 第三个数 按钮
				this.zygocoupleTopSelected = this.zygocoupleTopSelectedBack
				this.buttons2 = [{
					isActive: false
				}, {
					isActive: false
				}, {
					isActive: false
				}];
				this.buttons2[num].isActive = true;
				this.number = num;
				if (!this.isrecord) {
					this.delNumThree = []
					this.delNumTwo = []
					this.delNumOne = []
				}
				// 百十个  小中大 振幅差  等按钮号码 数组
				let optionTypeButtonArr = [0,7,11,15,19,23,27,31,35,43,66]
				if(optionTypeButtonArr.includes(this.args.optionType)){
					this.hundredCell = false
					this.flagOTT = false
					this.flagHTU = true
					this.hundredCellSelected = false
					this.HButton = false
					this.oneNumName = "百位:"
					this.twoNumName = "十位:"
					this.threeNumName = "个位:"
					switch(this.args.optionType){ // 百十个
						case 0:
							this.firstNum = "百位"
							this.secondNum = "十位"
							this.thirdNum = "个位"
						break
						case 7:
							this.firstNum = "百十差"
							this.secondNum = "十个差"
							this.thirdNum = "百个差"
							
							this.oneNumName = "百十差:"
							this.twoNumName = "十个差:"
							this.threeNumName = "百个差:"
							this.THButton = false
						break
						case 11:
							this.firstNum = "百十和"
							this.secondNum = "十个和"
							this.thirdNum = "百个和"
							
							this.oneNumName = "百十和:"
							this.twoNumName = "十个和:"
							this.threeNumName = "百个和:"
							this.THButton = false
						break
						case 15:
							this.firstNum = "小号"
							this.secondNum = "中号"
							this.thirdNum = "大号"
							
							this.oneNumName = "小号:"
							this.twoNumName = "中号:"
							this.threeNumName = "大号:"
						break
						case 19:
							this.firstNum = "小中差"
							this.secondNum = "中大差"
							this.thirdNum = "小大差"
							
							this.oneNumName = "小中差:"
							this.twoNumName = "中大差:"
							this.threeNumName = "小大差:"
							this.THButton = false
						break
						case 23:
							this.firstNum = "小中和"
							this.secondNum = "中大和"
							this.thirdNum = "小大和"
							
							this.oneNumName = "小中和:"
							this.twoNumName = "中大和:"
							this.threeNumName = "小大和:"
							this.THButton = false
						break
						case 27:
							this.firstNum = "第一个数"
							this.secondNum = "第二个数"
							this.thirdNum = "第三个数"
							
							this.oneNumName = "第一个数:"
							this.twoNumName = "第二个数:"
							this.threeNumName = "第三个数:"
						break
						case 31:
							this.firstNum = "百幅差"
							this.secondNum = "十幅差"
							this.thirdNum = "个幅差"
							
							this.oneNumName = "百幅差:"
							this.twoNumName = "十幅差:"
							this.threeNumName = "个幅差:"
							this.THButton = false
						break
						case 35:
							this.firstNum = "百幅和"
							this.secondNum = "十幅和"
							this.thirdNum = "个幅和"
							
							this.oneNumName = "百幅和:"
							this.twoNumName = "十幅和:"
							this.threeNumName = "个幅和:"
							this.THButton = false
						break
						case 43:
						 this.flagHTU = false
						 this.THButton = false
						 this.flag = false
						 this.oneNumName = "和尾:"
						break
						case 66:
						 this.firstNum = "百十间隔"
						 this.secondNum = "十个间隔"
						 this.thirdNum = "百个间隔"
						 
						 this.oneNumName = "百十间隔:"
						 this.twoNumName = "十个间隔:"
						 this.threeNumName = "百个间隔:"
						 this.THButton = false
						break
					}
					
					if(this.args.optionType == 27){
						this.zst();
					}else{
						this.zstBSG();// 生成下方 123 行数据的计算
					}
					if(this.HT){
						this.hundredCellSelected = true
						this.oneNumName= "三类分析"
						// 三类分析
						this.zst3Type()
					}
				}else{
					if (this.OTSTF) {
						// 按钮中的 百位/1
						this.zstOTSTF();
					}else if(this.HT){
						// 三类分析
						this.zst3Type()
					}else{
						// 常态的其他按钮
						this.zst();
					}
				}
				
			
			},
			isArrayEmpty(arr) {
				return arr.length === 0;
			},
			tijiao(num) {
				// 输出拼接后的三位数数组
				let concatenatedNumbers = this.countResult(num);
				if (this.isArrayEmpty(concatenatedNumbers)) {
					uni.showToast({
						title: '提交的数据为空！'
					});
					return
				}
				this.spliceAll = concatenatedNumbers;
				this.tjjl(); // 将记录同时提交

			},
			countResult(num) {
				let optionType = this.args.optionType
				// 存放拼接后的三位数结果
				let concatenatedNumbers = [];
				let optionTypeButtonArr = [0,7,11,15,19,23,27,31,35,43,66] // 这里是只要 百 个 十的选中号码
				if(optionTypeButtonArr.includes(optionType)){
						if (this.isArrayEmpty(this.firstSelected)) {
							uni.showToast({
								title: '第一行数需要选择！'
							});
							return;
						}
						if (this.isArrayEmpty(this.secondSelected)) {
							uni.showToast({
								title: '第二行数需要选择！'
							})
							return;
						}
						if (this.isArrayEmpty(this.thirdSelected)) {
							uni.showToast({
								title: '第三行数需要选择！'
							})
							return;
						}
						// 在这里处理提交逻辑，获取选中的值
						const selectedValues = {
							first: this.firstSelected,
							second: this.secondSelected,
							third: this.thirdSelected
						};
						if (num === 0) {
							if(optionType == 43){// 和尾
								concatenatedNumbers = this.getLotteryHTPAndTails(selectedValues.first)
							}else if(optionType == 7){ // 百十个位差
								concatenatedNumbers =  this.getDifferenceStringArrayAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 11){ // 百十个位和
								concatenatedNumbers =  this.getSumStringArrayAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 15){ // 小中大
								if(this.HT){
									concatenatedNumbers =  this.thirdHMA(this.threeTypesSelected)
								}else{
									concatenatedNumbers =  this.getMinMidMax(selectedValues.first,selectedValues.second,selectedValues.third)
								}
							}else if(optionType == 19){ // 小中大差
								concatenatedNumbers = this.getDifferenceSmallMiddleBigAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 23){ // 小中大和
								concatenatedNumbers = this.getSumSmallMiddleBigAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 31){ // 振幅差
								concatenatedNumbers = this.getAmplitudeDifferenceAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 35){ // 振幅和
								concatenatedNumbers = this.HTPOrderByAmplitudeSumAll(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 66){ //  单选间隔
								concatenatedNumbers = this.SingleChoiceInterval(selectedValues.first,selectedValues.second,selectedValues.third)
							}else if(optionType == 27){ // 组选通杀
								if(this.HT){
									concatenatedNumbers =  this.thirdHMA(this.threeTypesSelected)
								}else{
									concatenatedNumbers =  this.getMinMidMaxZX(selectedValues.first,selectedValues.second,selectedValues.third)
								}
							}else{
								let arrb = [0]
								if(arrb.includes(optionType)&&this.HT){
									concatenatedNumbers =  this.thirdHMA(this.threeTypesSelected)
								}else{
									concatenatedNumbers =  this.generateCombinationsForOneArray(selectedValues.first,selectedValues.second,selectedValues.third)
									 
								}
							}
						} else if (num === 1) { // 排除算法
							let a4 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
							if(optionType == 43){// 和尾 
								const intersection = a4.filter(item => !selectedValues.first.includes(item));
								concatenatedNumbers = this.getLotteryHTPAndTails(intersection)
							}else if(optionType == 7){ // 百十个位差
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers =  this.getDifferenceStringArrayAll(intersection1,intersection2,intersection3)
								concatenatedNumbers =  this.getDifferenceStringArrayAll(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
							}else if(optionType == 11){ // 百十个位和 
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.getSumStringArrayAll(intersection1,intersection2,intersection3)
							concatenatedNumbers =  this.getSumStringArrayAll(selectedValues.first,selectedValues.second,selectedValues.third)
							concatenatedNumbers = this.commondel(concatenatedNumbers)
							
							}else if(optionType == 15){ // 小中大
								if(this.HT){
									const intersection1 = a4.filter(item => !this.threeTypesSelected.includes(item));
									concatenatedNumbers = this.thirdHMA(intersection1)
								}else{
									// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
									// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
									// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
									// concatenatedNumbers = this.getMinMidMax(intersection1,intersection2,intersection3)
									concatenatedNumbers =  this.getMinMidMax(selectedValues.first,selectedValues.second,selectedValues.third)
									concatenatedNumbers = this.commondel(concatenatedNumbers)
									
								}
							}else if(optionType == 19){ // 小中大差
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.getDifferenceSmallMiddleBigAll(intersection1,intersection2,intersection3)
								
								concatenatedNumbers =  this.getDifferenceSmallMiddleBigAll(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
							}else if(optionType == 23){ // 小中大和
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.getSumSmallMiddleBigAll(intersection1,intersection2,intersection3)
								concatenatedNumbers =  this.getSumSmallMiddleBigAll(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
							}else if(optionType == 31){ // 振幅差
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.getAmplitudeDifferenceAll(intersection1,intersection2,intersection3)
								concatenatedNumbers = this.getAmplitudeDifferenceAll(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
								
							}else if(optionType == 35){ // 振幅和
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.HTPOrderByAmplitudeSumAll(intersection1,intersection2,intersection3)
								concatenatedNumbers = this.HTPOrderByAmplitudeSumAll(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
								
							}else if(optionType == 66){ // 单选间隔
								// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
								// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
								// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
								// concatenatedNumbers = this.SingleChoiceInterval(intersection1,intersection2,intersection3)
								concatenatedNumbers = this.SingleChoiceInterval(selectedValues.first,selectedValues.second,selectedValues.third)
								concatenatedNumbers = this.commondel(concatenatedNumbers)
							}else if(optionType == 27){ // 组选通杀
								if(this.HT){
									const intersection1 = a4.filter(item => !this.threeTypesSelected.includes(item));
									concatenatedNumbers = this.thirdHMA(intersection1)
								}else{
									// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
									// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
									// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
									// concatenatedNumbers = this.getMinMidMaxZX(intersection1,intersection2,intersection3)
									concatenatedNumbers =  this.getMinMidMaxZX(selectedValues.first,selectedValues.second,selectedValues.third)
									concatenatedNumbers = this.commondel(concatenatedNumbers)
								}
							}else{
								let arrb = [0]
								if(arrb.includes(optionType)&&this.HT){
									const intersection1 = a4.filter(item => !this.threeTypesSelected.includes(item));
									concatenatedNumbers = this.thirdHMA(intersection1)
								}else{
									// const intersection1 = a4.filter(item => !selectedValues.first.includes(item));
									// const intersection2 = a4.filter(item => !selectedValues.second.includes(item));
									// const intersection3 = a4.filter(item => !selectedValues.third.includes(item));
									// concatenatedNumbers =  this.generateCombinationsForOneArray(intersection1,intersection2,intersection3)
									concatenatedNumbers =  this.generateCombinationsForOneArray(selectedValues.first,selectedValues.second,selectedValues.third)
									concatenatedNumbers = this.commondel(concatenatedNumbers)
								
								}
							
							}
						
						}
					
				}else { // 12345 的算法
					let a1 = this.trendNumList
					let a4 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
					let basea = ["000","011","101","022","202","112","033","303","123","213","044","134","404","314",
								"224","055","145","235","505","415","325","066","156","246","606","516","426","336","077",
								"167","257","347","707","617","527","437","088","178","268","358","808","718","628","538","448","099",
								"189","279","369","459","909","819","729","639","549"]
					if (num === 0) {
						if(optionType == 3||optionType == 4){//百位
							concatenatedNumbers =  this.generateCombinationsForOneArray(this.zygocoupleTopSelected,a4,a4)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 1||optionType == 5){//十位
							concatenatedNumbers =  this.generateCombinationsForOneArray(a4,this.zygocoupleTopSelected,a4)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 2||optionType == 6){//个位
							concatenatedNumbers =  this.generateCombinationsForOneArray(a4,a4,this.zygocoupleTopSelected)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 8||optionType == 12){//百十差
							concatenatedNumbers=  this.getDifferenceStringArray(this.zygocoupleTopSelected,0);
						}else if(optionType == 9||optionType == 13){//十个差
							concatenatedNumbers =  this.getDifferenceStringArray(this.zygocoupleTopSelected,1);
						}else if(optionType == 10||optionType == 14){//"百个差
							concatenatedNumbers =  this.getDifferenceStringArray(this.zygocoupleTopSelected,2);
						}else if(optionType == 16||optionType == 20){//百十和
							concatenatedNumbers=  this.getSumStringArray(this.zygocoupleTopSelected,0);
						}else if(optionType == 17||optionType == 21){//十个和
							concatenatedNumbers =  this.getSumStringArray(this.zygocoupleTopSelected,1);
						}else if(optionType == 18||optionType == 22){//百个和
							concatenatedNumbers =  this.getSumStringArray(this.zygocoupleTopSelected,2);
						}  else if(optionType == 24||optionType == 28){//小号
							concatenatedNumbers= this.getMin(this.zygocoupleTopSelected);
						}else if(optionType == 25||optionType == 29){//中号
							concatenatedNumbers =  this.getMid(this.zygocoupleTopSelected);
						}else if(optionType == 26||optionType == 30){//大号
							concatenatedNumbers =  this.getMax(this.zygocoupleTopSelected);
						}  else if(optionType == 32||optionType == 36){//小中差
							concatenatedNumbers=  this.getDifferenceSmallMiddleBig(this.zygocoupleTopSelected,0);
						}else if(optionType == 33||optionType == 37){ //中大差
							concatenatedNumbers =   this.getDifferenceSmallMiddleBig(this.zygocoupleTopSelected,1);
						}else if(optionType == 34||optionType == 38){ //小大差
							concatenatedNumbers =  this.getDifferenceSmallMiddleBig(this.zygocoupleTopSelected,2);
						} else if(optionType == 40||optionType == 44){//小中和
							concatenatedNumbers=  this.getSumSmallMiddleBig(this.zygocoupleTopSelected,0);
						}else if(optionType == 41||optionType == 45){//中大和
							concatenatedNumbers =   this.getSumSmallMiddleBig(this.zygocoupleTopSelected,1);
						}else if(optionType == 42||optionType == 46){//小大和
							concatenatedNumbers =  this.getSumSmallMiddleBig(this.zygocoupleTopSelected,2);
						} else if(optionType == 48||optionType == 52){ // 0  胆
							concatenatedNumbers= this.getMin(this.zygocoupleTopSelected);
						} else if(optionType == 65||optionType == 69){ // 9  胆
							concatenatedNumbers =  this.getMax(this.zygocoupleTopSelected);
						} else if(optionType == 49||optionType == 53){ // 1  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(this.zygocoupleTopSelected,trendNumList);
						}  else if(optionType == 64||optionType == 68){ // 8  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 51||optionType == 55){ // 3  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 59||optionType == 63){ // 7  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 56||optionType == 60){ // 3  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 50||optionType == 54){ // 7  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 58||optionType == 62){ // 6  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 57||optionType == 61){ // 5  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(this.zygocoupleTopSelected,trendNumList);
						} else if(optionType == 72||optionType == 76){// 0胆差  胆
							concatenatedNumbers=  this.getDifferenceSmallMiddleBigDM(this.zygocoupleTopSelected,0);
						}else if(optionType == 89||optionType == 93){// 9胆差  胆
							concatenatedNumbers =  this.getDifferenceSmallMiddleBigDM(this.zygocoupleTopSelected,2);
						}else if(optionType == 73||optionType == 77){ // 1胆差  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(this.zygocoupleTopSelected,trendNumList,basea)
						} else if(optionType == 88||optionType == 92){ // 8胆差  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(this.zygocoupleTopSelected,trendNumList,basea)
						}else if(optionType == 80||optionType == 84){ // 4胆差  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(this.zygocoupleTopSelected,trendNumList,basea)
						}  else if(optionType == 74||optionType == 78){ // 2胆差  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(this.zygocoupleTopSelected,trendNumList,basea)
						} else if(optionType == 75||optionType == 79){ // 3胆差  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(this.zygocoupleTopSelected,trendNumList,basea)
						}  else if(optionType == 83||optionType == 87){ // 7胆差  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(this.zygocoupleTopSelected,trendNumList,basea)
						} else if(optionType == 82||optionType == 86){ // 6胆差  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(this.zygocoupleTopSelected,trendNumList,basea)
						}  else if(optionType == 81||optionType == 85){ // 5胆差  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(this.zygocoupleTopSelected,trendNumList,basea)
						}
						
					} else if (num === 1) { // 排除算法
						const intersection1 = a4.filter(item => !this.zygocoupleTopSelected.includes(item));
						if(optionType == 3||optionType == 4){//百位
							concatenatedNumbers =  this.generateCombinationsForOneArray(intersection1,a4,a4)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 1||optionType == 5){// 十位
							concatenatedNumbers =  this.generateCombinationsForOneArray(a4,intersection1,a4)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 2||optionType == 6){//个位
							concatenatedNumbers =  this.generateCombinationsForOneArray(a4,a4,intersection1)
							concatenatedNumbers = concatenatedNumbers.sort((a,b) => a-b)
						}else if(optionType == 8||optionType == 12){//百十差
							concatenatedNumbers=  this.getDifferenceStringArray(intersection1,0);
						}else if(optionType == 9||optionType == 13){ //十个差
							concatenatedNumbers =  this.getDifferenceStringArray(intersection1,1);
						}else if(optionType == 10||optionType == 14){// 百个差
							concatenatedNumbers =  this.getDifferenceStringArray(intersection1,2);
						}else if(optionType == 16||optionType == 20){//百十和
							concatenatedNumbers=  this.getSumStringArray(intersection1,0);
						}else if(optionType == 17||optionType == 21){//十个和
							concatenatedNumbers =  this.getSumStringArray(intersection1,1);
						}else if(optionType == 18||optionType == 22){//百个和
							concatenatedNumbers =  this.getSumStringArray(intersection1,2);
						}  else if(optionType == 24||optionType == 28){//小号
							concatenatedNumbers= this.getMin(intersection1);
						}else if(optionType == 25||optionType == 29){//中号
							concatenatedNumbers =  this.getMid(intersection1);
						}else if(optionType == 26||optionType == 30){//大号
							concatenatedNumbers =  this.getMax(intersection1);
						}  else if(optionType == 32||optionType == 36){//小中差
							concatenatedNumbers=  this.getDifferenceSmallMiddleBig(intersection1,0);
						}else if(optionType == 33||optionType == 37){//中大差
							concatenatedNumbers =   this.getDifferenceSmallMiddleBig(intersection1,1);
						}else if(optionType == 34||optionType == 38){//小大差
							concatenatedNumbers =  this.getDifferenceSmallMiddleBig(intersection1,2);
						} else if(optionType == 40||optionType == 44){//小中和
							concatenatedNumbers=  this.getSumSmallMiddleBig(intersection1,0);
						}else if(optionType == 41||optionType == 45){//中大和
							concatenatedNumbers =   this.getSumSmallMiddleBig(intersection1,1);
						}else if(optionType == 42||optionType == 46){//小大和
							concatenatedNumbers =  this.getSumSmallMiddleBig(intersection1,2);
						}else if(optionType == 48||optionType == 52){ // 0  胆
							concatenatedNumbers= this.getMin(intersection1);
						} else if(optionType == 65||optionType == 69){ // 9  胆
							concatenatedNumbers =  this.getMax(intersection1);
						} else if(optionType == 49||optionType == 53){ // 1  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(intersection1,trendNumList);
						}  else if(optionType == 64||optionType == 68){ // 8  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(intersection1,trendNumList);
						} else if(optionType == 51||optionType == 55){ // 3  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(intersection1,trendNumList);
						} else if(optionType == 59||optionType == 63){ // 7  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(intersection1,trendNumList);
						} else if(optionType == 56||optionType == 60){ // 3  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(intersection1,trendNumList);
						} else if(optionType == 50||optionType == 54){ // 7  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(intersection1,trendNumList);
						} else if(optionType == 58||optionType == 62){ // 6  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMinZXDM(intersection1,trendNumList);
						} else if(optionType == 57||optionType == 61){ // 5  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getMaxZXDM(intersection1,trendNumList);
						} else if(optionType == 72||optionType == 76){// 0胆差  胆
							concatenatedNumbers =  this.getDifferenceSmallMiddleBigDM(intersection1,0);
						}else if(optionType == 89||optionType == 93){// 9胆差  胆
							concatenatedNumbers =  this.getDifferenceSmallMiddleBigDM(intersection1,2);
						}else if(optionType == 73||optionType == 77){ // 1胆差  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(intersection1,trendNumList,basea)
						} else if(optionType == 88||optionType == 92){ // 8胆差  胆
							let itemToFind = this.types.find((item) => item.type == 1);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(intersection1,trendNumList,basea)
						}else if(optionType == 80||optionType == 84){ // 3胆差  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(intersection1,trendNumList,basea)
						}  else if(optionType == 74||optionType == 78){ // 7胆差  胆
							let itemToFind = this.types.find((item) => item.type == 6);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(intersection1,trendNumList,basea)
						} else if(optionType == 75||optionType == 79){ // 4胆差  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(intersection1,trendNumList,basea)
						}  else if(optionType == 83||optionType == 87){ // 2胆差  胆
							let itemToFind = this.types.find((item) => item.type == 2);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(intersection1,trendNumList,basea)
						} else if(optionType == 82||optionType == 86){ // 6胆差  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Left(intersection1,trendNumList,basea)
						}  else if(optionType == 81||optionType == 85){ // 5胆差  胆
							let itemToFind = this.types.find((item) => item.type == 8);
							let trendNumList = itemToFind.data;
							concatenatedNumbers =  this.getDMC18Right(intersection1,trendNumList,basea)
						}
						
					}

				}
				return concatenatedNumbers;
			},
			commondel(result){ // 
				let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
				let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
				return arr.filter(item => !result.includes(item))
			},
			getDMC18Left(selectEdValue,trendNumList,basea){
				let result = []
					selectEdValue.forEach(item =>{
						let index = trendNumList.indexOf(item)
						let preArr = trendNumList.slice(0,index)
						let caArr = basea.filter(i =>{
							let a= i.includes(item)
							let b= preArr.filter(pre => !i.includes(pre))
							let c = b.length==preArr.length
							return a&&c
						})
						let a = this.getDifferenceDMC(caArr)
						result=[...result,...a]
					})
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getDMC18Right(selectEdValue,trendNumList,basea){
				let result = []
					selectEdValue.forEach(item =>{
						let index = trendNumList.indexOf(item)
						let preArr = trendNumList.slice(index+1,trendNumList.length)
						let caArr = basea.filter(i =>{
							let a= i.includes(item)
							let b= preArr.filter(pre => !i.includes(pre))
							let c = b.length==preArr.length
							return a&&c
						})
						let a = this.getDifferenceDMC(caArr)
						result=[...result,...a]
					})
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getDifferenceDMC(numAarr){
				let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
				let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
				arr = arr.filter(item =>{
					let spnum = item.split("").sort((a, b) => a - b);
					let b = Math.abs(parseInt(spnum[0]) -parseInt(spnum[1]))
					let s = Math.abs(parseInt(spnum[1]) -parseInt(spnum[2]))
					let g = Math.abs(parseInt(spnum[0]) -parseInt(spnum[2]))
					let arrtemp = ""+b+s+g
					return numAarr.includes(arrtemp)
				})
				return arr
			},
			getMinZXDM(intersection,trendNumList){
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let index = trendNumList.indexOf(minValue);
					let newArrayOne = trendNumList.slice(index,this.trendNumList.length)
					let newArray =  trendNumList.slice(index+1,this.trendNumList.length)
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					 result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMidZXDM(intersection,trendNumList){
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					let index =  trendNumList.indexOf(minValue);
					if(index == 0){
						// 过滤出大于或等于最小值的元素
						let index =  trendNumList.indexOf(minValue);
						let newArrayOne =  trendNumList.slice(index, trendNumList.length)
						let newArray =   trendNumList.slice(index+1, trendNumList.length)
						let a = [minValue]
						let a1  = this.generateCombinationsForOneArray(a, a, newArrayOne);
						let a2 = this.generateCombinationsForOneArray(a, newArray, a);  
						let a3 = this.generateCombinationsForOneArray(newArray,a, a);  
						let   results = [...a1,...a2,...a3]
						result = [...result,...results]
					}else{
						let index =  trendNumList.indexOf(minValue);
						let minArray =  trendNumList.slice(0,index)
						let minArrayEq =  trendNumList.slice(0,index+1)
						let newArrayOne1 =  trendNumList.slice(index, trendNumList.length)
						let newArray1 =   trendNumList.slice(index+1, trendNumList.length)
						
						let aa = [minValue]
						let a11  = this.generateCombinationsForOneArray(minArray, aa, newArrayOne1);
						let a22 = this.generateCombinationsForOneArray(aa, minArray, newArrayOne1);  
						let a33 = this.generateCombinationsForOneArray(aa,newArray1,minArrayEq);  
						let a44 = this.generateCombinationsForOneArray(newArray1,minArray,aa); 
						let a55 = this.generateCombinationsForOneArray(newArray1,aa,minArrayEq); 
						let a66 = this.generateCombinationsForOneArray(minArray,newArray1,aa); 
						let a77 = this.generateCombinationsForOneArray(aa,aa,arr); 
						let   resultss = [...a11,...a22,...a33,...a44,...a55,...a66,...a77]
						result = [...result,...resultss]
					}
					
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMaxZXDM(intersection,trendNumList){
			 
				let a = intersection;
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let index = trendNumList.indexOf(minValue);
					let newArrayOne = trendNumList.slice(0,index+1)
					let newArray =  trendNumList.slice(0,index+1)
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					 result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			SingleChoiceInterval(firstSelected,secondSelected,thirdSelected){ // 单选间隔
				let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
				let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
				arr = arr.filter(item =>{
					let b = Math.abs((9-parseInt(item[0])) + parseInt(item[1]))%10
					let s = Math.abs((9-parseInt(item[1])) + parseInt(item[2]))%10
					let g = Math.abs((9-parseInt(item[0]))+ parseInt(item[2]))%10
					return firstSelected.includes(b)&&secondSelected.includes(s)&&thirdSelected.includes(g)
				  })
				  return arr
			},
			getAmplitudeDifferenceAll(firstSelected,secondSelected,thirdSelected){
				let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
				let dateData = this.navList[this.navList.length - 1].split("-");
				let n = dateData[dateData.length - 1]
				let arrn = n.split('');
				let b= []
				let s= []
				let g= []
				arrbase.forEach(item =>{
					let bb = Math.abs(arrn[0] - item)
					if(firstSelected.includes(bb)){
						b.push(item)
					}
					let ss = Math.abs(arrn[1] - item)
					if(secondSelected.includes(ss)){
						s.push(item)
					}
					let gg = Math.abs(arrn[2] - item)
					 if(thirdSelected.includes(gg)){
						g.push(item)
					 }
				})
				let result =this.generateCombinationsForOneArray(b,s,g)
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			HTPOrderByAmplitudeSumAll(firstSelected,secondSelected,thirdSelected){
				let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
				let dateData = this.navList[this.navList.length - 1].split("-");
				let n = dateData[dateData.length - 1]
				let arrn = n.split('');
				let b= []
				let s= []
				let g= []
				arrbase.forEach(item =>{
					let bb = Math.abs(parseInt(arrn[0]) + item)%10
					if(firstSelected.includes(bb)){
						b.push(item)
					}
					let ss = Math.abs(parseInt(arrn[1]) + item)%10
					if(secondSelected.includes(ss)){
						s.push(item)
					}
					let gg = Math.abs(parseInt(arrn[2]) + item)%10
					 if(thirdSelected.includes(gg)){
						g.push(item)
					 }
				})
				let result =this.generateCombinationsForOneArray(b,s,g)
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			thirdHMA(selected){ // 百十个位 小中大 组选通杀 的三类分析
				if(selected.length==0){
					uni.showToast({
						title: '选择的数据不能为空！'
					})
					return 
				}
				let value = []
				this.threeTypes.forEach(item => {
					if(selected.includes(item.value)){
						value.push(item.text)
					}
				})
				
				let a1 = this.trendNumList.slice(0, 3);
				let a2 = this.trendNumList.slice(3, 7);
				let a3 = this.trendNumList.slice(7, 10);
				let aa = [a1,a2,a3]
				let result = []
				value.forEach(v => {
					let th = (v+"").split("")
					let arr1 =this.generateCombinationsForOneArray(aa[parseInt(th[0])-1],aa[parseInt(th[1])-1],aa[parseInt(th[2])-1])
					let arr11 =this.generateCombinationsForOneArray(aa[parseInt(th[0])-1],aa[parseInt(th[2])-1],aa[parseInt(th[1])-1])
					let arr2 =this.generateCombinationsForOneArray(aa[parseInt(th[1])-1],aa[parseInt(th[0])-1],aa[parseInt(th[2])-1])
					let arr22 =this.generateCombinationsForOneArray(aa[parseInt(th[1])-1],aa[parseInt(th[2])-1],aa[parseInt(th[0])-1])
					let arr3 =this.generateCombinationsForOneArray(aa[parseInt(th[2])-1],aa[parseInt(th[0])-1],aa[parseInt(th[1])-1])
					let arr33 =this.generateCombinationsForOneArray(aa[parseInt(th[2])-1],aa[parseInt(th[1])-1],aa[parseInt(th[0])-1])
					result = [...result,...arr1,...arr11,...arr2,...arr22,...arr3,...arr33]
				})
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getSumSmallMiddleBigAll(firstSelected,secondSelected,thirdSelected){
				let	result1 =  this.getSumSmallMiddleBig(firstSelected,0);
				let	result2 =  this.getSumSmallMiddleBig(secondSelected,1);
				let	result3 =  this.getSumSmallMiddleBig(thirdSelected,2);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getSumSmallMiddleBig(numAarr,index){ // 小中大和
					let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
					let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
					  arr = arr.filter(item =>{
						let spnum = item.split("").sort((a, b) => a - b);
						let b = Math.abs(parseInt(spnum[0]) + parseInt(spnum[1]))%10
						let s = Math.abs(parseInt(spnum[1]) + parseInt(spnum[2]))%10
						let g = Math.abs(parseInt(spnum[0]) + parseInt(spnum[2]))%10
						let arr = [b,s,g]
						return numAarr.includes(arr[index])
					  })
					  return arr
			},
			getDifferenceSmallMiddleBigAll(firstSelected,secondSelected,thirdSelected){
				let	result1 =  this.getDifferenceSmallMiddleBig(firstSelected,0);
				let	result2 =  this.getDifferenceSmallMiddleBig(secondSelected,1);
				let	result3 =  this.getDifferenceSmallMiddleBig(thirdSelected,2);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getDifferenceSmallMiddleBigDM(numAarr,index){ // 0胆码
					  let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
					  let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
					  arr = arr.filter(item =>{
								let spnum = item.split("").sort((a, b) => a - b);
							let b = Math.abs(parseInt(spnum[0]) -parseInt(spnum[1]))
							let s = Math.abs(parseInt(spnum[1]) -parseInt(spnum[2]))
							let g = Math.abs(parseInt(spnum[0]) -parseInt(spnum[2]))
							let arr = [b,s,g]
							let sortarr = arr.sort((a, b) => a - b);
							return numAarr.includes(sortarr[index])
					  })
					  return arr
			},
			getDifferenceSmallMiddleBig(numAarr,index){ // 小中大差
					  let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
					  let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
					  arr = arr.filter(item =>{
								let spnum = item.split("").sort((a, b) => a - b);
							let b = Math.abs(parseInt(spnum[0]) -parseInt(spnum[1]))
							let s = Math.abs(parseInt(spnum[1]) -parseInt(spnum[2]))
							let g = Math.abs(parseInt(spnum[0]) -parseInt(spnum[2]))
							let arr = [b,s,g]
							return numAarr.includes(arr[index])
					  })
					  return arr
			},
			getMinMidMaxZX(firstSelected,secondSelected,thirdSelected){
				let	result1 = this.getMinZX(firstSelected);
				let	result2 =  this.getMidZX(secondSelected);
				let	result3 = this.getMaxZX(thirdSelected);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getMinZX(intersection){
				let arr = this.trendNumList
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let index = this.trendNumList.indexOf(minValue);
					let newArrayOne = this.trendNumList.slice(index,this.trendNumList.length)
					let newArray =  this.trendNumList.slice(index+1,this.trendNumList.length)
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					 result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMidZX(intersection){
				let arr = this.trendNumList
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					let index = this.trendNumList.indexOf(minValue);
					if(index == 0){
						// 过滤出大于或等于最小值的元素
						let index = this.trendNumList.indexOf(minValue);
						let newArrayOne = this.trendNumList.slice(index,this.trendNumList.length)
						let newArray =  this.trendNumList.slice(index+1,this.trendNumList.length)
						let a = [minValue]
						let a1  = this.generateCombinationsForOneArray(a, a, newArrayOne);
						let a2 = this.generateCombinationsForOneArray(a, newArray, a);  
						let a3 = this.generateCombinationsForOneArray(newArray,a, a);  
						let   results = [...a1,...a2,...a3]
						result = [...result,...results]
					}else{
						// let minArray = arr.filter(num => num < minValue);
						// let minArrayEq = arr.filter(num => num <= minValue);
						// let newArrayOne1 = arr.filter(num => num >= minValue);
						// let newArray1 = arr.filter(num => num > minValue);
						let index = this.trendNumList.indexOf(minValue);
						let minArray = this.trendNumList.slice(0,index)
						let minArrayEq =  this.trendNumList.slice(0,index+1)
						let newArrayOne1 = this.trendNumList.slice(index,this.trendNumList.length)
						let newArray1 =  this.trendNumList.slice(index+1,this.trendNumList.length)
						
						let aa = [minValue]
						let a11  = this.generateCombinationsForOneArray(minArray, aa, newArrayOne1);
						let a22 = this.generateCombinationsForOneArray(aa, minArray, newArrayOne1);  
						let a33 = this.generateCombinationsForOneArray(aa,newArray1,minArrayEq);  
						let a44 = this.generateCombinationsForOneArray(newArray1,minArray,aa); 
						let a55 = this.generateCombinationsForOneArray(newArray1,aa,minArrayEq); 
						let a66 = this.generateCombinationsForOneArray(minArray,newArray1,aa); 
						let a77 = this.generateCombinationsForOneArray(aa,aa,arr); 
						let   resultss = [...a11,...a22,...a33,...a44,...a55,...a66,...a77]
						result = [...result,...resultss]
					}
					
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMaxZX(intersection){
				let arr = this.trendNumList
				let a = intersection;
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let index = this.trendNumList.indexOf(minValue);
					let newArrayOne = this.trendNumList.slice(0,index+1)
					let newArray =  this.trendNumList.slice(0,index+1)
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					 result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMinMidMax(firstSelected,secondSelected,thirdSelected){
				let	result1 = this.getMin(firstSelected);
				let	result2 =  this.getMid(secondSelected);
				let	result3 = this.getMax(thirdSelected);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getMin(intersection){
				let arr = [0,1,2,3,4,5,6,7,8,9]
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let newArrayOne = arr.filter(num => num >= minValue);
					let newArray = arr.filter(num => num > minValue);
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMid(intersection){
				let arr = [0,1,2,3,4,5,6,7,8,9]
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					if(minValue == 0){
						// 过滤出大于或等于最小值的元素
						let newArrayOne = arr.filter(num => num >= minValue);
						let newArray = arr.filter(num => num > minValue);
						let a = [minValue]
						let a1  = this.generateCombinationsForOneArray(a, a, newArrayOne);
						let a2 = this.generateCombinationsForOneArray(a, newArray, a);  
						let a3 = this.generateCombinationsForOneArray(newArray,a, a);  
						let   results = [...a1,...a2,...a3]
						result = [...result,...results]
					}else{
						let minArray = arr.filter(num => num < minValue);
						let minArrayEq = arr.filter(num => num <= minValue);
						let newArrayOne1 = arr.filter(num => num >= minValue);
						let newArray1 = arr.filter(num => num > minValue);
						let aa = [minValue]
						let a11  = this.generateCombinationsForOneArray(minArray, aa, newArrayOne1);
						let a22 = this.generateCombinationsForOneArray(aa, minArray, newArrayOne1);  
						let a33 = this.generateCombinationsForOneArray(aa,newArray1,minArrayEq);  
						let a44 = this.generateCombinationsForOneArray(newArray1,minArray,aa); 
						let a55 = this.generateCombinationsForOneArray(newArray1,aa,minArrayEq); 
						let a66 = this.generateCombinationsForOneArray(minArray,newArray1,aa); 
						let a77 = this.generateCombinationsForOneArray(aa,aa,arr); 
						let   resultss = [...a11,...a22,...a33,...a44,...a55,...a66,...a77]
						result = [...result,...resultss]
					}
					
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getMax(intersection){
				let arr = [0,1,2,3,4,5,6,7,8,9]
				let a = intersection;
				let result = []
				intersection.forEach(minValue=> {
					// 计算最小值
					//let minValue = Math.min(...a);
					// 过滤出大于或等于最小值的元素
					let newArrayOne = arr.filter(num => num <= minValue);
					let newArray = arr.filter(num => num <= minValue);
					let a = [minValue]
					let a1  = this.generateCombinationsForOneArray(a, newArrayOne, newArrayOne);
					let a2 = this.generateCombinationsForOneArray(newArray, a, newArrayOne);  
					let a3 = this.generateCombinationsForOneArray(newArray, newArray, a);  
					let   results = [...a1,...a2,...a3]
					 result = [...result,...results]
				})
				// 排序数组
				result.sort((a, b) => a - b);
				// 去重
				result = [...new Set(result)];
				return result
			},
			getSumStringArrayAll(firstSelected,secondSelected,thirdSelected){
				let	result1 =  this.getSumStringArray(firstSelected,0);
				let	result2 =  this.getSumStringArray(secondSelected,1);
				let	result3 =  this.getSumStringArray(thirdSelected,2);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getSumStringArray(numAarr,index){ // 百十个和
						let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
						let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
							arr = arr.filter(num =>{
							let spnum = num.split("")
							let b = Math.abs(parseInt(spnum[0]) + parseInt(spnum[1]))%10
							let s = Math.abs(parseInt(spnum[1]) + parseInt(spnum[2]))%10
							let g = Math.abs(parseInt(spnum[0]) + parseInt(spnum[2]))%10
							let arr = [b,s,g]
							return numAarr.includes(arr[index])
						})
					  return arr
			},
			getDifferenceStringArrayAll(firstSelected,secondSelected,thirdSelected){
				let	result1 =  this.getDifferenceStringArray(firstSelected,0);
				let	result2 =  this.getDifferenceStringArray(secondSelected,1);
				let	result3 =  this.getDifferenceStringArray(thirdSelected,2);
				let results = result1.filter(item => result2.includes(item) && result3.includes(item));
				return results
			},
			getLotteryHTPAndTails(numAarr){ // 和尾
			let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
			  let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
					  return arr.filter(item =>{
							let spnum = item.split("")
							let h = Math.abs(parseInt(spnum[0]) + parseInt(spnum[1]) + parseInt(spnum[2]))%10
							 return numAarr.includes(h)
					  })
			},
			generateCombinationsForOneArray(arr1, arr2, arr3) {
			  return arr1.flatMap(i =>  
			    arr2.flatMap(j =>  
			      arr3.map(k => `${i}${j}${k}`)  
			    )  
			  );  
			},
			getNonIntersectingItems(arr1, arr2) { // 两个数组的差集
				let a1 = arr1.filter(item => !arr2.includes(item))
				let a2 = arr2.filter(item => !arr1.includes(item))
				return a1.concat(a2);
			},
			firstChange(e) { // 下方第一个点击方法
				let zygocouple1 = this.zygocouple1
				this.zygocoupleTopSelected = JSON.parse(JSON.stringify(this.zygocoupleTopSelectedBack));
				this.delNumOne = []
				for (let i = 0; i < zygocouple1.length; i++) {
					if (!e.detail.value.includes(zygocouple1[i].value) && !zygocouple1[i].disable) {
						this.delNumOne.unshift(i);
					}
				}
				this.zygocoupleTopSelected = [];
				this.zygocoupleTopSelectedBackBack.forEach((i, index) => {
					if (!this.delNumThree.includes(index) && !this.delNumTwo.includes(index) && !this.delNumOne
						.includes(index)) {
						this.zygocoupleTopSelected.push(i)
					}
				})
			},
			secondChange(e) { // 下方第一个点击方法
				let zygocouple2 = this.zygocouple2
				this.zygocoupleTopSelected = JSON.parse(JSON.stringify(this.zygocoupleTopSelectedBack));
				this.delNumTwo = []
				for (let i = 0; i < zygocouple2.length; i++) {
					if (!e.detail.value.includes(zygocouple2[i].value) && !zygocouple2[i].disable) {
						this.delNumTwo.unshift(i);
					}
				}
				this.zygocoupleTopSelected = [];
				this.zygocoupleTopSelectedBackBack.forEach((i, index) => {
					if (!this.delNumThree.includes(index) && !this.delNumTwo.includes(index) && !this.delNumOne
						.includes(index)) {
						this.zygocoupleTopSelected.push(i)
					}
				})
			},
			thirdChange(e) { // 下方第一个点击方法
				let zygocouple3 = this.zygocouple3
				this.zygocoupleTopSelected = JSON.parse(JSON.stringify(this.zygocoupleTopSelectedBack));
				this.delNumThree = []
				for (let i = 0; i < zygocouple3.length; i++) {
					if (!e.detail.value.includes(zygocouple3[i].value) && !zygocouple3[i].disable) {
						this.delNumThree.unshift(i);
					}
				}
				this.zygocoupleTopSelected = [];
				this.zygocoupleTopSelectedBackBack.forEach((i, index) => {
					if (!this.delNumThree.includes(index) && !this.delNumTwo.includes(index) && !this.delNumOne
						.includes(index)) {
						this.zygocoupleTopSelected.push(i)
					}
				})
			},
			// 加载三类分析按钮下方选项
			thirdTypeLoad(){ // 三类分析按钮
				let onearr = JSON.parse(JSON.stringify(this.zygocouple));
				this.firstSelected=this.trendNumList;
				this.zygocouple1 = onearr;
				this.zygocouple1.forEach(item =>{
					item.disable = true
				})
				let arrbzs  = [0,15,27]
				if(arrbzs.includes(this.args.optionType)){
					this.hundredCellSelected = false
					this.threeTypesSelected = [0,1,2,3,4,5,6,7,8,9]
					this.threeTypesSelectedValue = [0,1,2,3,4,5,6,7,8,9]
					this.threeTypesSelectedBack = JSON.parse(JSON.stringify(this.threeTypes));
				}else{
					//生成下方的123 个数的数组
					let n = this.num[this.num.length - 1];
					let arrn = n.split('');
					let typeId = [4,5,6,12,13,14,20,21,22,28,29,30,36,37,38,44,45,46,52,53,54,55,60,61,62,63,68,69,76,77,78,79,84,85,86,87,92,93]
					let index11 = 0;
					let index22 = 1;
					if(typeId.includes(this.args.optionType)){
						index11 = 1;
						index22 = 2;
					}
					let index1 = this.trendNumList.indexOf(parseInt(arrn[index11]))
					let index2 = this.trendNumList.indexOf(parseInt(arrn[index22]))
					let a1 = this.getThreeTypeInde(index1)
					let a2 =  this.getThreeTypeInde(index2)
					let res = a1+a2
					if(a1>a2){
						res = a2+a1
					}
					let reult = this.THData[res]
					this.threeTypesSelected = []
					this.threeTypesSelectedBack = []
					this.threeTypesSelectedValue = []
					this.threeTypes.forEach(item => {
						if(reult.includes(item.text)){
							item.disable = false
							this.threeTypesSelected.push(item.value)
							this.threeTypesSelectedValue.push(item.value)
							this.threeTypesSelectedBack.push(item)
						}else{
							item.disable = true
						}
					})
				}
				if(this.isrecord){
					this.threeTypesSelected = this.threeTypesSelectedRecord
					this.firstSelected = this.firstSelectedRecord
				}
			},
			getThreeTypeInde(n){
				let index ;
				if(n<=2){
					index = "1"
				}else if(n<=6){
					index = "2"
				}else{
					index ="3"
				}
				return index
			},
			thirdTypeChange(e){ // 三类分析按钮
				 //生成下方的123 个数的数组
				 let delData = []
				 let onearr = JSON.parse(JSON.stringify(this.zygocouple));
				 this.firstSelected=[];
				 this.zygocouple1 = onearr;
				 this.zygocouple1.forEach(item =>{
					item.disable = true
				 })
				 this.threeTypesSelectedBack.forEach(item =>{
					 if(!e.detail.value.includes(item.value)){
						 delData.push(item.text)
					 }
				 })
				 let arrbzs  = [0,15,27]
				 if(arrbzs.includes(this.args.optionType)){
					 this.firstSelected=this.trendNumList;
				}else{
					if(this.isArrayEmpty(delData)){
						this.firstSelected=this.trendNumList;
						this.zygocoupleTopSelected = this.zygocoupleTopSelectedBackBack
					}else{
					 let n = this.num[this.num.length - 1];
					 let arrn = n.split('');
					 let typeId = [4,5,6,12,13,14,20,21,22,28,29,30,36,37,38,44,45,46,52,53,54,55,60,61,62,63,68,69,76,77,78,79,84,85,86,87,92,93]
					 let index11 = 0;
					 let index22 = 1;
					 if(typeId.includes(this.args.optionType)){
					 	index11 = 1;
					 	index22 = 2;
					 }
					 let index1 = this.trendNumList.indexOf(parseInt(arrn[index11]))
					 let index2 = this.trendNumList.indexOf(parseInt(arrn[index22]))
					 let a1 = this.getThreeTypeInde(index1)
					 let a2 =  this.getThreeTypeInde(index2)
					 const letters = new Set();
					 delData.forEach(item =>{
						 let index ;
							 let nn  = item+""
							 index = nn.replace(a1,"").replace(a2,"")
						 letters.add(index)
					 })
					 let ls = letters.size;
					 if(ls>0){
						 const array = Array.from(letters);
						 if(ls==1){
							 let index =array[0]
							 if(index == 1){
								 this.zygocouple1.forEach((item1,index) =>{
									 if(index>2){
										 this.firstSelected.push(item1.value)
									 }
								 })
							 }else if(index == 2){
								 this.zygocouple1.forEach((item1,index) =>{
										 if(index<=2||index>=7){
											 this.firstSelected.push(item1.value)
										 }
								 })
														 
							 }else{
								 this.zygocouple1.forEach((item1,index) =>{
										 if(index<7){
											 this.firstSelected.push(item1.value)
										 }
								 })
							 }
						 }else if(ls == 2){
							 let o = array[0]
							 let t = array[1]
							 if(array[0]> array[1]){
								o = array[1]
								t = array[0]
							 }
							 if(o==1 && t ==2){
								 this.zygocouple1.forEach((item1,index) =>{
									 if(index>=7){
										 this.firstSelected.push(item1.value)
									 }
								 })			
							 }else if(o==1 && t==3){
								 this.zygocouple1.forEach((item1,index) =>{
									 if(index>2&&index<7){
										 this.firstSelected.push(item1.value)
									 }
								 })	
							 }else if(o==2 && t==3){
								 this.zygocouple1.forEach((item1,index) =>{
									 if(index<=2){
										 this.firstSelected.push(item1.value)
									 }
								 })	
							 }
						 }
						 
						 let zygocouple1 = this.zygocouple1
						 this.zygocoupleTopSelected = JSON.parse(JSON.stringify(this.zygocoupleTopSelectedBack));
						 this.delNumOne = []
						 for (let i = 0; i < zygocouple1.length; i++) {
							if (!this.firstSelected.includes(zygocouple1[i].value)) {
								this.delNumOne.unshift(i);
							}
						 }
						 this.zygocoupleTopSelected = [];
						 this.zygocoupleTopSelectedBackBack.forEach((i, index) => {
							if ( !this.delNumOne
								.includes(index)) {
								this.zygocoupleTopSelected.push(i)
							}
						 })
					 }
										 
					}
				}
			},
			getFirstNumber(zh, arr, index) {
				// 查找数位
				const zharr = zh.split('');
				const newIndexArr = [];
				const min = 0;
				const minIndex = 0;
				zharr.forEach((item) => {
					const v = parseInt(item);
					const indexArr = arr.indexOf(v);
					newIndexArr.push(indexArr);
				});
				newIndexArr.sort(function(a, b) {
					return a - b; // 升序排序
				});
				return arr[newIndexArr[index]];
			},

			zstOTSTF() { // 百位12345 走势图
				this.trendList = [];
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 3; i < this.OTSTFnum.length; i++) {
					let dataArr = this.OTSTFnum[i].split("");
					let n = dataArr[this.OTSTFcolNum]
					let index = this.numArry.indexOf(parseInt(n));
					this.trendList.push(this.setdata(start, n, index));
				}
				// 生成跨度
				this.span1GenOTSTF(this.OTSTFnum, this.numArry, this.number);
				this.gen123numOTSTF(); // 生成下方 123 行数据的计算
			
			},
			span1GenOTSTF(arr, tileArr, index) {
				// 生成跨度1
				this.spanArr1 = [];
				this.trendListApan1 = [];
				let span0 = arr[0];
				for (let i = 1; i < arr.length; i++) {
					const span1 = arr[i];
					let numPre = span0.split("")[this.OTSTFcolNum];
					let numNext = span1.split("")[this.OTSTFcolNum];
					const indexPre = tileArr.indexOf(parseInt(numPre));
					const indexNext = tileArr.indexOf(parseInt(numNext));
					span0 = span1;
					const absoluteValue = Math.abs(indexPre - indexNext);
					this.spanArr1.push(absoluteValue);
				}
				// 生成结构数据
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 2; i < this.spanArr1.length; i++) {
					let index = this.spanArr1[i];
					let n = this.numArrySpan1[index];
					this.trendListApan1.push(this.setdata(start, n, index));
				}
				this.span2Gen(this.spanArr1, this.numArrySpan1);
			},
			gen123numOTSTF(){
				let onearr = JSON.parse(JSON.stringify(this.zygocouple));
				this.firstSelected=this.trendNumList;
				this.zygocouple1 = onearr;
				if(this.isrecord){
					this.firstSelected = this.firstSelectedRecord
					
				}
			},
			zst3Type() {// 生成三类分析
				// 这里生成组试图  这里的bn代表的是按钮的第几个数
				// this.trendList = [];
				 let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				this.trendList = [];
				for (let i = 3; i < this.num.length; i++) {
					let lottery = this.num[i]
					let lotteryArr =  lottery.split("")
					//let n = this.getFirstNumber(this.num[i], this.numArry, this.number);
					let index0 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[0])));
					let index1 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[1])));
					let index2 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[2])));
					let TH = this.sortNumbers(index0,index1,index2)
					let cIndex =  this.THDataStr.indexOf(TH);
					this.trendList.push(this.setdata(start, cIndex, cIndex));
				}
				// 生成跨度
				this.span1Gen3Type(this.num, this.numArry, this.number);
				this.gen123num(); // 生成下方 123 行数据的计算
				this.thirdTypeLoad() // 加载三类分析按钮下方选项
			},
			span1Gen3Type(arr, tileArr, index) {
				// 生成跨度1
				this.spanArr1 = [];
				this.trendListApan1 = [];
				let span0 = arr[0];
				for (let i = 1; i < arr.length; i++) {
					const span1 = arr[i];
					let lotteryArr =  span1.split("")
					//let n = this.getFirstNumber(this.num[i], this.numArry, this.number);
					let index0 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[0])));
					let index1 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[1])));
					let index2 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr[2])));
					let TH = this.sortNumbers(index0,index1,index2)
					let cIndex =  this.THDataStr.indexOf(TH);
					
					let lotteryArr1 =  span0.split("")
					//let n = this.getFirstNumber(this.num[i], this.numArry, this.number);
					let index01 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr1[0])));
					let index11 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr1[1])));
					let index21 = this.getThreeTypeInde(this.numArry.indexOf(parseInt(lotteryArr1[2])));
					let TH1 = this.sortNumbers(index01,index11,index21)
					let cIndex1 =  this.THDataStr.indexOf(TH1);
					span0 = span1;
					const absoluteValue = Math.abs(cIndex1 - cIndex);
					this.spanArr1.push(absoluteValue);
				}
				// 生成结构数据
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 2; i < this.spanArr1.length; i++) {
					let index = this.spanArr1[i];
					let n = this.numArrySpan1[index];
					this.trendListApan1.push(this.setdata(start, n, index));
				}
				this.span2Gen(this.spanArr1, this.numArrySpan1);
			},
			getNumByIndex(num,index){
				let arrnum =  num.split("")
				return parseInt(arrnum[index])
			},
			zstBSG() {
				// 这里生成组试图  这里的bn代表的是按钮的第几个数
				this.trendList = [];
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 3; i < this.num.length; i++) {
					let n =   this.getNumByIndex(this.num[i],this.number)
					let index = this.numArry.indexOf(n);
					this.trendList.push(this.setdata(start, n, index));
				}
				// 生成跨度
				this.span1GenBSG(this.num, this.numArry, this.number);
				this.gen123numBSG(); // 生成下方 123 行数据的计算
			},
			span1GenBSG(arr, tileArr, index) {
				// 生成跨度1
				this.spanArr1 = [];
				this.trendListApan1 = [];
				let span0 = arr[0];
				for (let i = 1; i < arr.length; i++) {
					const span1 = arr[i];
					const numPre =  this.getNumByIndex(span0, index);
					const numNext = this.getNumByIndex(span1, index);
					const indexPre = tileArr.indexOf(numPre);
					const indexNext = tileArr.indexOf(numNext);
					span0 = span1;
					const absoluteValue = Math.abs(indexPre - indexNext);
					this.spanArr1.push(absoluteValue);
				}
				// 生成结构数据
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 2; i < this.spanArr1.length; i++) {
					let index = this.spanArr1[i];
					let n = this.numArrySpan1[index];
					this.trendListApan1.push(this.setdata(start, n, index));
				}
				this.span2Gen(this.spanArr1, this.numArrySpan1);
			},
			gen123numBSG(){
				//生成下方的123 个数的数组
				this.firstSelected = [];
				this.secondSelected = [];
				this.thirdSelected = [];
				let onearr = JSON.parse(JSON.stringify(this.zygocouple));
				let twoarr = JSON.parse(JSON.stringify(this.zygocouple));
				let threearr = JSON.parse(JSON.stringify(this.zygocouple));
			
				if (this.isrecord) {
					this.firstSelected = this.firstSelectedRecord;
					this.secondSelected = this.secondSelectedRecord;
					this.thirdSelected = this.thirdSelectedRecord;
				
				}else{
					this.firstSelected = [0,1,2,3,4,5,6,7,8,9];
					this.secondSelected = [0,1,2,3,4,5,6,7,8,9];
					this.thirdSelected = [0,1,2,3,4,5,6,7,8,9];
				}
				this.zygocouple1 = onearr;
				this.zygocouple2 = twoarr;
				this.zygocouple3 = threearr;
			},
			zst() {
				// 这里生成组试图  这里的bn代表的是按钮的第几个数
				this.trendList = [];
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 3; i < this.num.length; i++) {
					let n = this.getFirstNumber(this.num[i], this.numArry, this.number);
					let index = this.numArry.indexOf(n);
					this.trendList.push(this.setdata(start, n, index));
				}
				// 生成跨度
				this.span1Gen(this.num, this.numArry, this.number);
				if(this.args.optionType == 27){
					this.gen123numBSG();
				}else{
					this.gen123num(); // 生成下方 123 行数据的计算
				}
			},
			span1Gen(arr, tileArr, index) {
				// 生成跨度1
				this.spanArr1 = [];
				this.trendListApan1 = [];
				let span0 = arr[0];
				for (let i = 1; i < arr.length; i++) {
					const span1 = arr[i];
					const numPre = this.getFirstNumber(span0, tileArr, index);
					const numNext = this.getFirstNumber(span1, tileArr, index);
					const indexPre = tileArr.indexOf(numPre);
					const indexNext = tileArr.indexOf(numNext);
					span0 = span1;
					const absoluteValue = Math.abs(indexPre - indexNext);
					this.spanArr1.push(absoluteValue);
				}
				// 生成结构数据
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 2; i < this.spanArr1.length; i++) {
					let index = this.spanArr1[i];
					let n = this.numArrySpan1[index];
					this.trendListApan1.push(this.setdata(start, n, index));
				}
				this.span2Gen(this.spanArr1, this.numArrySpan1);
			},
			span2Gen(spanArr1, tileArr) {
				//生成跨度2
				this.spanArr2 = [];
				this.trendListApan2 = [];
				let span0 = spanArr1[0];
				for (let i = 1; i < spanArr1.length; i++) {
					const span1 = spanArr1[i];
					const indexPre = tileArr.indexOf(span0);
					const indexNext = tileArr.indexOf(span1);
					const absoluteValue = Math.abs(indexPre - indexNext);
					span0 = span1;
					this.spanArr2.push(absoluteValue);
				}
				// 生成结构数据
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 1; i < this.spanArr2.length; i++) {
					let index = this.spanArr2[i];
					let n = tileArr[index];
					this.trendListApan2.push(this.setdata(start, n, index));
				}
				this.span3Gen(this.spanArr2, tileArr);
			},
			span3Gen(spanArr1, tileArr) {
				//生成跨度3
				this.spanArr3 = [];
				this.trendListApan3 = [];
				let span0 = spanArr1[0];
				for (let i = 1; i < spanArr1.length; i++) {
					const span1 = spanArr1[i];
					const indexPre = tileArr.indexOf(span0);
					const indexNext = tileArr.indexOf(span1);
					const absoluteValue = Math.abs(indexPre - indexNext);
					span0 = span1;
					this.spanArr3.push(absoluteValue);
				}
				let start = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1];
				for (let i = 0; i < this.spanArr3.length; i++) {
					let index = this.spanArr3[i];
					let n = tileArr[index];
					this.trendListApan3.push(this.setdata(start, n, index));
				}
				this.$nextTick(() => {
					const query = uni.createSelectorQuery().in(this);
					query
						.select('.dialogue-box-content')
						.boundingClientRect((data) => {
							if (data) {
								// 计算滚动位置
								this.scrollTop = 3000;
							}
							uni.pageScrollTo({
								selector: '#target'
							});
						})
						.exec((es) => {
							this.isrecord = false;

						});
				});
			},
			setdata(start, n, index) {
				// 生成每行的数据
				let c = {
					data: []
				};
				for (let k = 0; k < start.length; k++) {
					if (index === k) {
						c.data.push({
							num: n,
							active: 1
						});
						start[k] = 1;
					} else {
						c.data.push({
							num: start[k],
							active: 0
						});
						start[k]++;
					}
				}
				return c;
			},
			async show() {
				let data = {
					type: this.args.type,
					hundredOne: this.hundredOne,
					option: this.args.optionType,
					first: this.args.qiShuFirst,
					second: this.args.qiShuSecond,
					count: this.args.qiShuIndex,
					typeFlag:0
				}
				let that = this
				await this.$myRequest({
					method: 'get',
					url: '/hundredOne',
					data: data
				}).then((res) => {
					this.num = res.data.data;
					this.navList = res.data.dateNumData;
					// 列数
					let btr = [4,5,6,
							   12,13,14,
							   20,21,22,
							   28,29,30,
							   36,37,38,
							   44,45,46,
							   52,53,54,59,
							   60,61,62,63,
							   68,69,70,
							   76,77,78,79,
							   84,85,86,87,
							   92,93,94,95]
					if(res.data.colNum){
						if(res.data.colNum>5){
							that.colNum = res.data.colNum-5
						}else{
							that.colNum = res.data.colNum
						}
					}else{
						that.colNum = 0;
					}
					// 生成走势图
					if(this.HT){
						 this.changeHT(1)
					}else if(this.OTSTF){
						this.changeHT(0)
					}else{
						this.changeType(that.typeNo,2);
					}
					
				});
			},
			getDifferenceStringArray(numAarr,index){ // 百十个差
			let arrbase =[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
						let arr =this.generateCombinationsForOneArray(arrbase,arrbase,arrbase)
						arr = arr.filter(num =>{
							let spnum = num.split("")
							let b = Math.abs(parseInt(spnum[0]) -parseInt(spnum[1]))
							let s = Math.abs(parseInt(spnum[1]) -parseInt(spnum[2]))
							let g = Math.abs(parseInt(spnum[0]) -parseInt(spnum[2]))
							let arr = [b,s,g]
							return numAarr.includes(arr[index])
					  })
					  return arr
			},
		}
	};
</script>

<script module="text" lang="renderjs">

	 import {fnLineChart} from './ts/fn';
	export default {
		methods: {
			updateData(newValue, oldValue, ownerInstance, instance) {

				this.$nextTick(() => {
					// 每次渲染前先删除之前生成的线段
					let elements = document.querySelectorAll('i');
					elements.forEach(function(element) {
						element.remove(); // 或者使用 element.parentNode.removeChild(element);
					});
	
					let eleDots = document.querySelectorAll('.lableNum');
					let eleDots1 = document.querySelectorAll('.lableNum1');
					let eleDots2 = document.querySelectorAll('.lableNum2');
					let eleDots3 = document.querySelectorAll('.lableNum3');
					fnLineChart(eleDots);
					fnLineChart(eleDots1);
					fnLineChart(eleDots2);
					fnLineChart(eleDots3);


					// const query = uni.createSelectorQuery().in(this);
					//      query.select('.scroll-view').boundingClientRect(data => {
					//        if (data) {
					//          // 假设每个item的高度是50px
					//          const itemHeight = 50;
					//          // 计算总共有多少个item
					//          const totalItems = 100;
					//          // 计算滚动位置
					//          this.scrollTop = (totalItems * itemHeight) - data.height;
					//        }
					//      }).exec();
					//  let myElement = document.getElementById('dialogue-box-content');
					// 	// // 获取元素的高度
					// 	let height = myElement.scrollHeight;
					//  this.scrollTop = myElement.scrollHeight
					//   let myElement1 = document.getElementById('dialogue-box-content');

					// let height1 = myElement1.scrollHeight;
					//  this.scrollTop = height1

				});
			}
		}
	}
</script>
<style lang="scss">
	.textzhu {
		padding-top: 10rpx;
		font-size: 21px;
	}

	.zhu {
		color: red;
	}

	.spliceAllText {
		float: left;
		font-size: 20px;
		padding-top: 15px;
		margin-left: 5px;
	}

	uni-button {
		font-size: 13px !important;
	}

	.buttonActive01 {
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	.buttonNoActive01 {
		background-color: white;
	}

	.buttonActive02 {
		width: 200rpx;
		border-radius: 10%;
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	.buttonNoActive02 {
		background-color: white;
		width: 200rpx;
		border-radius: 10%;
	}

	.buttonActive03 {
		border-radius: 100px;
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	.buttonNoActive03 {
		background-color: white;
		border-radius: 100px;
		background-color: white;
	}

	.buttonActive05 {
		border-radius: 100px;
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	.buttonNoActive05 {
		background-color: white;
		border-radius: 100px;
		background-color: white;
	}

	.buttonActive04 {
		border-radius: 100px;
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	.buttonNoActive04 {
		background-color: white;
		border-radius: 100px;
		background-color: white;
	}

	.checkbox1 {}

	.checkbox2 {
		display: flex;
	}

	.combinatorialArrayAll {
		background-color: white;
		margin-top: 20px;
	}

	.demo-uni-row {
		margin-top: 30rpx;
		display: flex;
	}

	.demo-uni-row1 {
		width: 520px;
		margin-top: 30rpx;
		display: flex;
	}

	.demo-uni-row2 {
		margin-top: 30rpx;
		height: 0px;
	}

	.combinatorialArray {
		width: 100%;
	}

	.titletext {
		background-color: #aa0000;
		height: 50rpx;

	}

	.centerClass {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.zygocouple {
		display: flex;
		/* 使用flex布局 */
		flex-wrap: nowrap;
		/* 不换行，保证子元素在一行内显示 */
		justify-content: center;
		/* 水平居中 */
		align-items: center;
		/* 垂直居中 */
		border: 1px solid black;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		margin-top: -5px;
	}

	.zoushi {
		color: white;
		text-align: center;
		line-height: 50rpx;
	}

	.index {
		min-height: 115vh;
		background-color: #f6eee8;

		.navTitle {
			height: 44px;
			line-height: 44px;
			text-align: center;
			font-size: 32rpx;
			color: #000;
		}

		.d-f {
			display: flex;
		}

		.nav {
			width: 450rpx;
			display: flex;
			flex-direction: column;
			text-align: center;

			.item {
				white-space: nowrap;
				height: 50rpx;
				font-size: 24rpx;
				color: #9a9a9a;
				border-right: 1rpx solid #e6e6e6;
			}

			.item:nth-child(2n-1) {
				background: #efece5;
			}

			.item:nth-child(2n) {
				background: #f9f7f3;
			}

			.item1 {
				background: #aa0000 !important;
				color: white;
			}
		}

		.trendList {
			border: 1px solid greenyellow;
			width: 100%;
			/* overflow: hidden;
				overflow-x: auto; */
			white-space: nowrap;

			.trendNum {
				height: 50rpx;

				.item {
					uni-text {
						background: #aa0000;
						display: inline-block;
						text-align: center;
						width: 50rpx;
						height: 50rpx;
						line-height: 50rpx;
						font-size: 22rpx;
						color: white;
						border-right: 1rpx solid #e6e6e6;
					}
				}
			}

			.trendVal {
				display: flex;

				.item {
					display: flex;
					align-items: center;
					justify-content: center;
					border-right: 1rpx solid #e6e6e6;
					width: 50rpx;
					height: 50rpx;
					line-height: 50rpx;

					uni-text {
						text-align: center;
						font-size: 22rpx;
						color: #9a9a9a;
					}
				}
			}

			.trendVal:nth-child(2n-1) {
				background: #fff;
			}

			.trendVal:nth-child(2n) {
				background: #f9f7f3;
			}

			.trendVal:last-child {
				.item {
					border-bottom: 1rpx solid #e6e6e6;
				}
			}
		}
	}

	.active {
		background-color: #ed6e6e;
		border-radius: 50%;
		color: #fff !important;
		width: 32rpx !important;
		height: 32rpx !important;
		line-height: 32rpx !important;
	}

	.colcenter {
		display: flex;
		justify-content: center;
		/* 列内水平居中 */
		align-items: center;
		/* 列内垂直居中 */
		height: 100%;
		/* 确保列高度100% */
	}

	.lableNum {
		position: absolute;
	}

	.lableNumClass {
		font-size: 17px !important;
		background-color: #E2035E;
		z-index: 1;
		border-radius: 50%;
		color: #fff !important;
		width: 43rpx !important;
		height: 43rpx !important;
		line-height: 43rpx !important;
	}

	.lableNum1 {
		position: absolute;
	}

	.lableNum2 {
		position: absolute;
	}

	.lableNum3 {
		position: absolute;
	}



	.button01 {
		background-color: white;
		border-radius: 10%;
	}

	.buttontext {
		font-size: 10px;
	}

	.button01:hover {
		background-color: #742305;
		/* 鼠标悬停时的背景颜色 */
		color: white;
	}

	// 滚动条样式
	/deep/ ::-webkit-scrollbar {
		/*滚动条整体样式*/
		width: 4px !important;
		height: 1px !important;
		overflow: auto !important;
		background: #ccc !important;
		-webkit-appearance: auto !important;
		display: block;
	}

	/deep/ ::-webkit-scrollbar-thumb {
		/*滚动条里面小方块*/
		border-radius: 10px !important;
		box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
		background: #7b7979 !important;
	}

	/deep/ ::-webkit-scrollbar-track {
		/*滚动条里面轨道*/
		// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2) !important;
		// border-radius: 10px !important;
		background: #ffffff !important;
	}
</style>
